3 ms·
Haskell does async IO by default using green threads. GHC allocates Thread State Objects which completely represent a (green) thread on the heap. A capabillity
by Tarean 8y ago
Haskell does async IO by default using green threads. GHC allocates Thread State Objects which completely represent a (green) thread on the heap.
A capabillity which represents a cpu core contains a queue of TSO's. If a thread blocks on something it can also move to a different queue which is used for thread synchronization, blocking on computations from other threads, io etc.