Idioma

DispatchObject Classe

Definição

Classe base para objetos de despacho.

public abstract class DispatchObject : CoreFoundation.NativeObject
type DispatchObject = class
    inherit NativeObject
Herança
Derivado

Observações

Os objetos de despacho partilham funções para coordenar a gestão de memória, suspensão, cancelamento e ponteiros de contexto. Embora todos os objetos de despacho sejam reteníveis, nem todos suportam suspensão, apontadores de contexto ou finalizadores (atualmente apenas filas e fontes suportam estas interfaces adicionais).

A invocação de blocos em filas de despacho ou fontes de despacho pode ser suspensa ou retomada com os métodos Suspend() e Resume() respetivamente. A estrutura de despacho verifica sempre o estado da suspensão antes de executar um bloco, mas tais alterações nunca afetam um bloco durante a execução (não preemptiva). Portanto, a suspensão de um objeto é assíncrona, a menos que seja realizada a partir do contexto da fila de destino para o objeto dado. O resultado de suspender ou retomar um objeto que não é uma fila de despacho ou uma fonte de despacho é indefinido.

Importante: a suspensão aplica-se a todos os aspetos do ciclo de vida do objeto de despacho, incluindo a função finalizador e o handler de cancelamento. Por isso, é importante equilibrar as chamadas para Suspend() e Resume() de modo a que o objeto de despacho seja totalmente retomado quando a última referência é libertada. O resultado de libertar todas as referências a um objeto de despacho enquanto está em estado suspenso é indefinido.

As filas de despacho e as fontes suportam ponteiros de contexto suplementares. O valor do ponto de contexto pode ser recuperado e atualizado com a Context propriedade.

O resultado de obter ou definir o contexto de um objeto que não é uma fila de despacho ou uma fonte de despacho é indefinido.

Propriedades

Nome Descrição
Handle

Classe base para objetos de despacho.

(Herdado de DisposableObject)
Owns

Classe base para objetos de despacho.

(Herdado de DisposableObject)

Métodos

Nome Descrição
Activate()

Classe base para objetos de despacho.

ClearHandle()

Classe base para objetos de despacho.

(Herdado de DisposableObject)
Dispose()

Liberta todos os recursos utilizados por este objeto.

(Herdado de DisposableObject)
Dispose(Boolean)

Liberta os recursos usados por este objeto.

(Herdado de NativeObject)
Equals(Object)

Classe base para objetos de despacho.

(Herdado de DisposableObject)
GetCheckedHandle()

Classe base para objetos de despacho.

(Herdado de DisposableObject)
GetHashCode()

Classe base para objetos de despacho.

(Herdado de DisposableObject)
InitializeHandle(NativeHandle)

Classe base para objetos de despacho.

(Herdado de DisposableObject)
Release()

Classe base para objetos de despacho.

Retain()

Classe base para objetos de despacho.

SetTargetQueue(DispatchQueue)

Classe base para objetos de despacho.

Métodos da Extensão

Nome Descrição
GetHandle(INativeObject)

Classe base para objetos de despacho.

GetNonNullHandle(INativeObject, String)

Classe base para objetos de despacho.

Aplica-se a