summaryrefslogtreecommitdiffstats
path: root/contrib/libobjc/THREADS.MACH
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libobjc/THREADS.MACH')
-rw-r--r--contrib/libobjc/THREADS.MACH23
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.
+
+
OpenPOWER on IntegriCloud