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