Pre-emptive or co-operative concurrency (was: Concurrency)
simonmar at microsoft.com
Thu Mar 30 06:03:56 EST 2006
On 29 March 2006 17:34, Neil Mitchell wrote:
>> context-switches happen only on specific events, which every
>> thread will usually engage in, although it need not always do so:
>> 1 only calls to yield
>> 2 any calls to concurrency library api
>> 3 any allocation
> The Yhc concurrency switches every n instructions, and therefore even
> an "evil" thread cannot lock up the system.
> Of course, even with fully pre-emptive scheduling, you've still got
What does YHC do about in-progress thunk evaluations when a context
switch happens? Does it use blackholing like GHC, or does it
portentially duplicate the work, or something else?
More information about the Haskell-prime