Hi,
Huw Davies said:
On 18/03/2005, at 7:04 AM, Paul Koning wrote:
Come to think of it, cooperative multitasking is
trivial, you can code
your own. It looks like this:
for {;;} { task1(); task2(); task3; /* etc */ }
and each task simply does stuff for a while, then returns when it has
nothing left to do or when it's time to give another task a shot at
the CPU. That sort of system is very simple and very reliable.
Anyone who's used a Macintosh before OS-X might want to disagree here.
But MacOS, and Windows =< 3, were not well designed systems in that
respect. In particular ISTR that they did not force a task switch
on all calls to in/out functions, which has an impact on performance
among other things. There was a discussion about this in the Forth
newsgroup recently.
(I use pre-OS-X Macintoshes...)
--
Cheers,
Stan Barr stanb at
dial.pipex.com
The future was never like this!