------ art_92348_9276952.1147296919321 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline It's rarely a good idea to modify the priorities of threads in Unix systems. Almost all thread-schedulers will never schedule a thread if there is at least one runnable thread with a higher priority, which explains the results you describe. Your lower-priority threads will basically only get scheduled when they're lucky enough to find the highest-priority thread non-runnable. If you mess with priorities, you also face the risk of priority inversions, where a high-priority thread requires a resource held by a lower-priority thread, and they lock each other. Keep it simple. Sounds like the semantics of your application is to simulate users working at different rates. There's nothing there that implies a dependence among the threads. I'd use random sleep intervals. ------ art_92348_9276952.1147296919321--