Workers on Unix

On Unix, a worker is implemented using an operating system thread. Scheduling of tasks is therefore controlled by the operating system scheduler and the operating system may choose to preempt the execution of a thread at any time. This preemptive scheduling does not affect the processing of tasks in any visible way; when a thread is scheduled to run again, the task is picked up at the point where it left off. However, task priorities that are inherited from a database connection will have no effect on the execution scheduling of those tasks. Rather, all tasks will be executed at the same priority level because all operating system thread priorities are equivalent.