Microsoft Windows CE 3.0  

Priority Inversion

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Priority inversion occurs when a high priority thread is blocked from running because a lower priority thread owns a kernel object, such as a mutex or critical section, that the high priority thread needs. For example, a Windows CE application contains threads 1, 2, and 3. Thread 1 is high priority currently scheduled thread and it tries to acquire a critical section owned by Thread 2. Thread 2 could be in one of two states: