Hi Chris,
I've been trying to understand this dilemma and I too slightly incline towards 'true' - meaning the same priority processes do round robin when preempted. It makes the following example behave very 'naturally' – it lets a quicker process finish before a slower (independent) one:
[ 50000 factorial. 'long computation finished' crTrace ] fork. [ 1+1. 'short computation finished' crTrace ] fork. 'test started' crTrace
Output: test started short computation finished long computation finished
However, people say Smalltalk is collaborative within priorities which wouldn't allow the above behavior. I personally would like to consider both ways equally 'correct' and stop labelling based on preemtive behavior. I even checked some other dialects and the vote looks like this:
Squeak, VisualWorks = false Pharo, VisualAge = true
I understand there may be technical problems due to complexity but the aim should be in my opinion to have it both ways.
Thanks, Jaromir
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html