
9 Feb
2011
9 Feb
'11
12:21 p.m.
It is not always a thread. ForkIO creates a spark and then the scheduler decides when sparks should be scheduled to threads. Thus you get a guarantee of concurrent but not parallel execution.
That is not correct - it is "par" that creates sparks may be discarded.
I guess I should have been clearer. A forkIO thread is not an OS thread necessarily. Sparks may become threads or be discarded in the par sense.
forkIO always creates new threads, though it is of course up to the scheduler when the threads are executed, and how many cores are used.
Yes, this is my understanding as well.