Represents a job stored in an Arc
โ like HeapJob
, but may
be turned into multiple JobRef
s and called multiple times.
Represents a job stored in the heap. Used to implement
scope
. Unlike StackJob
, when executed, HeapJob
simply
invokes a closure, which then triggers the appropriate logic to
signal that the job executed.
Indirect queue to provide FIFO job priority.
Effectively a Job trait object. Each JobRef must be executed
exactly once, or else data may leak.
A job that will be owned by a stack slot. This means that when it
executes it need not free any heap data, the cleanup occurs when
the stack frame is later popped. The function parameter indicates
true
if the job was stolen โ executed on a different thread.