PR libgcj/27271:
[official-gcc.git] / libobjc / THREADS.MACH
blob55de663786698a06b1e2ebbcde06fe62a3d3518b
1 This readme refers to the file thr-mach.c.
3 Under mach, thread priorities are kinda strange-- any given thread has
4 a MAXIMUM priority and a BASE priority.  The BASE priority is the
5 current priority of the thread and the MAXIMUM is the maximum possible
6 priority the thread can assume.  The developer can lower, but never
7 raise the maximum priority.
9 The gcc concept of thread priorities is that they run at one of three
10 levels;  interactive, background, and low.
12 Under mach, this is translated to:
14 interactive -- set priority to maximum
15 background  -- set priority to 2/3 of maximum
16 low         -- set priority to 1/3 of maximum
18 This means that it is possible for a thread with the priority of
19 interactive to actually run at a lower priority than another thread
20 with a background, or even low, priority if the developer has modified
21 the maximum priority.