MonoMac.CoreFoundation.DispatchQueue Class
Provides a task queue that can perform tasks either synchronously or asynchronously.

See Also: DispatchQueue Members

Syntax

public class DispatchQueue : DispatchObject

Remarks

Queues are the fundamental mechanism for scheduling blocks for execution within the Apple Grand Central Dispatch framework.

All blocks submitted to dispatch queues are dequeued in FIFO order. By default, queues created with the default constructor wait for the previously dequeued block to complete before dequeuing the next block. This FIFO completion behavior is sometimes simply described as a "serial queue." Queues are not bound to any specific thread of execution and blocks submitted to independent queues may execute con- currently. Queues, like all dispatch objects, are reference counted and newly created queues have a reference count of one.

The optional label argument is used to describe the purpose of the queue and is useful during debugging and performance analysis. By convention, clients should pass a reverse DNS style label. If a label is provided, it is copied. If a label is not provided, then Label property returns an empty C string. For example:

C# Example

	  var my_queue = new DispatchQueue ("com.example.subsystem.taskXYZ");
	

Queues may be temporarily suspended and resumed with the functions DispatchObject.Suspend() and DispatchObject.Resume() respectively. Suspension is checked prior to block execution and is not preemptive.

Related content

Requirements

Namespace: MonoMac.CoreFoundation
Assembly: XamMac (in XamMac.dll)
Assembly Versions: 0.0.0.0