TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Alan Clifford
from: Peter Fitzsimmons
date: 1996-03-26 11:36:24
subject: Threads

AC> Thanks for the reply.  I seem to be getting an 
 AC> understanding of what's going on.  I was surprised 
 AC> that OS/2 didn't pre-empt the thread.

It does -- just not as soon as you were expecting.

One other thing that occurred to me -- OS/2 will vary the priority of
"normal class" threads based on what they are doing;  your thread
was considered CPU-BOUND (vs I/O bound),  so the schedular raised its
priority (in the hopes that it would complete its job and call something
that blocks).

The real solution to this is don't write free-running threads,  as in your
example -- but another solution would be to move the threads out of
"normal" class into "idle time",  or even "fixed
high" (but I'd discourage that).

You could also try "priority=absolute" in config.sys, but you
should assume that a user's system has "priority=dynamic",  since
that is the default.

 AC> With new stuff like this, I like to try things out a 
 AC> bit at a time before attempting to use them for real.

...but your sample threads are _very_ atypical;  all your learning about is
how "bad" threads behave.


--- Maximus/2 3.00
* Origin: Sol 3 * Toronto * V.32 * (905)858-8488 (1:259/414)
SEEN-BY: 50/99 78/0 270/101 620/243 711/401 409 410 413 430 808 809 934 955
SEEN-BY: 712/407 515 517 628 713/888 800/1 7877/2809
@PATH: 259/414 400 99 250/99 3615/50 396/1 270/101 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.