[MLton] threads and traces
Stephen Weeks
MLton@mlton.org
Tue, 13 Jul 2004 16:21:17 -0700
> That's true. MLton doesn't impose any particular scheduler on threads.
> You can easily code up a non-preemptive scheduler. A preemptive scheduler
> generally needs signals and the OSs signals.
As mentioned in the user guide, have a look at thread1.sml, which
implements non-preemptive threads, and thread2.sml, which implements
pre-emptive threads.
> You might be able to get by with a scheduler that gets runs based on
> a GC signal
This wouldn't be fair, because a thread with a loop that does no
allocation could starve all other threads. So, it's probably better
to go with time-based preemption.