diff options
Diffstat (limited to 'contrib/libobjc/THREADS.MACH')
-rw-r--r-- | contrib/libobjc/THREADS.MACH | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/contrib/libobjc/THREADS.MACH b/contrib/libobjc/THREADS.MACH new file mode 100644 index 0000000..55de663 --- /dev/null +++ b/contrib/libobjc/THREADS.MACH @@ -0,0 +1,23 @@ +This readme refers to the file thr-mach.c. + +Under mach, thread priorities are kinda strange-- any given thread has +a MAXIMUM priority and a BASE priority. The BASE priority is the +current priority of the thread and the MAXIMUM is the maximum possible +priority the thread can assume. The developer can lower, but never +raise the maximum priority. + +The gcc concept of thread priorities is that they run at one of three +levels; interactive, background, and low. + +Under mach, this is translated to: + +interactive -- set priority to maximum +background -- set priority to 2/3 of maximum +low -- set priority to 1/3 of maximum + +This means that it is possible for a thread with the priority of +interactive to actually run at a lower priority than another thread +with a background, or even low, priority if the developer has modified +the maximum priority. + + |