Module yatp::queue[][src]

The task queues available for the thread pool.

A task queue has two parts: a shared [TaskInjector] and several [LocalQueue]s. Unlike usual MPMC queues, [LocalQueue] is not required to be Sync. The thread pool will use one [LocalQueue] per thread, which make it possible to do extreme optimizations and define complicated data structs.

Modules

multilevel

A multilevel feedback task queue. Long-running tasks are pushed to levels with lower priority.

Structs

Extras

The extras for the task cells pushed into a queue.

Pop

Popped task cell from a task queue.

Enums

QueueType

Supported available queues.

Traits

TaskCell

A cell containing a task and needed extra information.

WithExtras

A convenient trait that support construct a TaskCell with given extras.