On Mon Aug 08 04:09:13 2016, elizabeth wrote:
> As far as I understand Jonathan’s position on this, is that you
> shouldn’t do that.  

Well, you shouldn't do it without concurrency control if you want correct 
results. But SEGV isn't an OK failure mode. So it wants addressing up to that 
point (and I know how to do it, just didn't get to it yet).

> If you want to push to an array from multiple
> threads, you probably should use a Channel, or use Supplies with an
> .act block.

Or re-think your problem in a less imperative way. :-)

> In any case,
> having any array automatically work correctly when being pushed to
> from multiple threads, is a ticket to deadlock hell (if I remember
> Jonathan’s wording on this subject correctly).

Well, I had many words, but the other notable issue is that it gives a false 
sense of security (even if array operations were to be individually safe, 
auto-viv would still a race, as would `while @foo { @foo.pop }`) and just leads 
people towards high-contention designs when a different framing of the problem 
would give a lower-contention design.

/jnthn

Reply via email to