DMD 1.022 and 2.005 releases - what's wrong with threading?

Bruno Medeiros brunodomedeiros+spam at com.gmail
Mon Oct 8 13:34:47 PDT 2007


Sean Kelly wrote:
> Walter Bright wrote:
>> David Brown wrote:
>>> On Sun, Oct 07, 2007 at 10:57:31AM -0700, Walter Bright wrote:
>>>> David Brown wrote:
>>>>>   - 'pause/resume' is not a useful thread primitive.  As we've seen by
>>>>>   sample code, just doing simple things is dreadfully difficult, and
>>>>>   very easy to get wrong, having deadlocks, starvation, and other
>>>>>   issues.
>>>>
>>>> The main reason for the existence of pause/resume is so the garbage 
>>>> collector can pause all the threads, do a gc sweep, then resume them.
>>>
>>> I don't think they should go away :-)  I just think there needs to be
>>> something else to use for synchronization.  Just because it is 
>>> possible to
>>> synchronize with pause/resume, doesn't mean one should.
>>
>> It never occurred to me that someone would use pause/resume for 
>> syncing. I thought the concepts were orthogonal.
> 
> For what it's worth, Java has pause/resume as deprecated members of its 
> Thread class.  I suspect they originally included them for garbage 
> collection as well, and deprecated them when people started using them 
> for synchronization (they're a fantastic way to deadlock an app).  Doug 
> Lea's containers and such use them, for example, because Java does not 
> offer standalone mutexes, semaphores, etc.
> 
> 
> Sean

Hum, what do you mean by "standalone mutexes, semaphores, etc."?

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D



More information about the Digitalmars-d mailing list