[dmd-concurrency] synchronized, shared, and regular methods inside the same class

Andrei Alexandrescu andrei at erdani.com
Wed Jan 6 07:35:17 PST 2010


Michel Fortin wrote:
> Ok, so I understand that you meant "atomic { int y = x; y++; x = y;
> }" to be some kind of transaction, where the whole becomes atomic.
> I'd be very happy to see transactional memory in D. I have experience
> with database transactions, but I'm not sure how familiar I am with
> the topic of software transactional memory.
> 
> Anyway, let's talk about it.

Transactional memory is simplifying a great deal of multithreaded 
programming, and there's little to not like about it. However, as far as 
I know we don't have any STM expert on board who's also willing to 
implement it for D, which is overriding the debate on whether STM will 
be a prevailing mechanism of doing threaded work. So as of the time 
being we don't plan to add STM capabilities to D.

If one or some on this list are willing to provide a soup-to-nuts design 
and implementation of STM for D in a matter of weeks, please speak up. 
Otherwise or until then, I encourage the interested people to discuss it 
off-list. Thanks.


Andrei



More information about the dmd-concurrency mailing list