On Thu, Apr 03, 2003 at 08:37:46PM +0100, Dave Mitchell wrote: : On Tue, Apr 01, 2003 at 08:44:25AM -0500, Dan Sugalski wrote: : > There isn't any, particularly. We're doing preemptive threads. It : > isn't up for negotiation. This is one of the few things where I truly : > don't care what people's opinions on the matter are. : : Sorry, I haven't been following this too closely - but is it the intention : to support the 5.005, or the ithreads model (or both? or neither?).
At a language level this has very little to do with whether treads are implemented preemptively or not. The basic philosophical difference between the pthreads and ithreads models is in whether global variables are shared by default or not. The general consensus up till now is that having variables unshared by default is the cleaner approach, though it does cost more to spawn threads that way, at least the way Perl 5 implements it. The benefit of ithreads over pthreads may be somewhat lessened in Perl 6. There may well be intermediate models in which some kinds of variables are shared by default and others are not. We don't know how that will work--we haven't run the experiment yet. For anything other than existential issues, I believe that most arguments about the future containing the words "either", "or", "both", or "neither" are likely to be wrong. In particular, human psychology is rarely about the extremes of binary logic. As creatures we are more interested in balance than in certainty, all the while proclaiming our certainty that we've achieved the correct balance. In short, I think both the pthreads and ithreads models are wrong to some extent. Larry