Version française
Home     About     Download     Resources     Contact us    
Browse thread
Where's my non-classical shared memory concurrency technology?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jon Harrop <jon@f...>
Subject: Re: Where's my non-classical shared memory concurrency technology?
On Sunday 18 May 2008 09:39:15 Berke Durak wrote:> On Sun, May 18, 2008 at 
12:03 AM, Jon Harrop <jon@ffconsultancy.com> wrote:
> > Avoiding threads does not improve the safety of the language, it simply
> > degrades the capabilities of the language.
>
> Avoiding threads is like avoiding malloc() in a C program and doing only
> static and stack allocation: it is cumbersome and impractical, but avoids a
> whole class of allocation bugs.
>
> Similarly, avoiding threads removes concurrency bugs...

Are you sure? Can you not still have two agents mutually waiting on each other 
for a message (a deadlock) or messages not being ordered before consumption 
(a race condition)?

I don't believe you have removed any concurrency bugs. I think you just pushed 
them around a bit.

> I think we are still lacking programming language technology to integrate
> safe and easy-to-use shared memory concurrency in ML-like languages.  Does
> anyone know of anything in this area aside from transactional memory?

Data parallelism in Microsoft's Task Parallel Library. I have no use for STM 
myself.

-- 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e