Re: without message queue

Arkady Frenkel wrote:
Correct , that general purpose OS so it can't allow some thread to catch all CPU forever ( thread starvation used for the same purpose too ) , opposite to RT oses,like windows CE,when setting highest priority for some running thread stop all ( even system ) other threads execution

That's also true of XP, it's just that it only implements one of the usual scheduling models, namely round-robin, whereas other OSes generally include FIFO, LIFO and possibly others. While you are running a priority 31 thread, all lower priority threads (including system threads) will not run - the mouse pointer freezes for example.

Obviously, XP has additional problems that prevent it from being used very successfully as an RTOS, such as a lack of priority inheritance.


Relevant Pages

  • Re: Cooperative threading preemptive threading - a bit confused
    ... priority. ... preempt another running thread though. ... No preemption means no preemption. ... the scheduler gives control (even if just for a brief period of ...
  • Re: threads that wont yield
    ... > server thread has a higher priority. ... > thread list to become a running thread, ... REALTIME threads of equal ... scheduling policy, much less how it relates to realtime scheduled threads. ...
  • Re: Dont really understand Thread.yield()
    ... > if a thead calls yield()? ... moved to the end of its priority ... so the new currently running thread is selected among ... If there are other threads with the same priority as the yielding ...
  • Re: without message queue
    ... When some given thread's quantum expires, ... very important) priority is in ready state. ... the CPU ... it has to wait until currently running thread ...
  • Re: Priority on multple network interfaces
    ... Paul and Omar, ... I will choose the one NIC option for sake of simplicity and because I may not expect a better performance with two NICs as you both stated. ... The system threads however run at a pretty high priority. ...