std.container and classes
foobar
foo at bar.com
Tue Dec 20 22:34:12 PST 2011
On Wednesday, 21 December 2011 at 04:45:48 UTC, Jonathan M Davis
wrote:
> On Tuesday, December 20, 2011 22:15:43 Caligo wrote:
[snip]
>> 2. Are the new containers going to be multi-threaded? i.e.,
>> will I be
>> able to insert elements into a container from multiple threads?
>
> No. That would introduce unnecessary overhead. If you want
> synchronized containers, then wrap the standard ones in your
> own. Maybe some sort of synchronized wrapper will be provided
> by Phobos at some point, but the containers themselves are
> definitely not going to be. You can add the multi-
> threading protections and the cost that they bring on top of an
> implementation that doesn't have them, but if you have such
> protections built-in, those using the containers can't remove
> them and would be stuck with the performance cost.
>
> - Jonathan M Davis
actually, a synchronized container doesn't really provide
concurrent write access, it serialized the access of multiple
threads by using a lock. What about true concurrent containers
such that two threads can access concurrently the same container
at different places? E.g Array could be divided into chunks and
each chunk is owned by a separate thread, Tree that can divide
it's sub-trees among several threads, etc..
More information about the Digitalmars-d
mailing list