X-Git-Url: https://ocean-lang.org/code/?p=ocean-D;a=blobdiff_plain;f=Ocean-concurrent;h=7045ed72d9d19ad1527f1376b7177e386a6d5d10;hp=00d7ea69f2562b5dfe32d6379a85e5c6600e2a5b;hb=bb468d738e5edf523e47206c7eafa0b293b736a6;hpb=6bbab56e5001bac144c6ef8fe73ae27df4695bb3 diff --git a/Ocean-concurrent b/Ocean-concurrent index 00d7ea6..7045ed7 100644 --- a/Ocean-concurrent +++ b/Ocean-concurrent @@ -35,11 +35,12 @@ value somehow when the code completes. Having thought about this during my run this morning, my current position is: +(mar 2019??) 1/ we have locking primitives, fields which indicate what lock protects them, and pointers which are typed to say what lock they own. Locks are generally nreader-xor-1writer and spin or wait on a queue, - possibly dedicated, possibly chosed by hash. + possibly dedicated, possibly chosen by hash. a refcount is a lock that is mostly in the nreader state. A 'writer' which frees the object might get queued at object creation.