Idioma

DispatchObject Classe

Definição

Classe base para objetos de expedição.

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

Comentários

Objetos de expedição compartilham funções para coordenar o gerenciamento de memória, suspensão, cancelamento e ponteiros de texto con. Embora todos os objetos de expedição sejam retíveis, nem todos os objetos dão suporte a suspensão, ponteiros de contexto ou finalizadores (atualmente, apenas filas e fontes dão suporte a essas interfaces adicionais).

A invocação de blocos em filas de expedição ou fontes de expedição pode ser suspensa ou retomada com os métodos Suspend() e Resume() , respectivamente. A estrutura de expedição sempre verifica o status da suspensão antes de executar um bloco, mas essas 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 executada do contexto da fila de destino para o objeto fornecido. O resultado da suspensão ou retomada de um objeto que não é uma fila de expedição ou uma origem de expedição é indefinido.

Importante: a suspensão se aplica a todos os aspectos do ciclo de vida do objeto dispatch, incluindo a função de finalizador e o manipulador de cancelamento. Portanto, é importante balancear as chamadas Suspend() e Resume() , de modo que o objeto dispatch seja totalmente retomado quando a última referência for lançada. O resultado da liberação de todas as referências a um objeto de expedição enquanto estiver em um estado suspenso é indefinido.

As filas e fontes de expedição dão suporte a 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 expedição ou uma origem de expedição é indefinido.

Propriedades

Nome Description
Handle

Classe base para objetos de expedição.

(Herdado de DisposableObject)
Owns

Classe base para objetos de expedição.

(Herdado de DisposableObject)

Métodos

Nome Description
Activate()

Classe base para objetos de expedição.

ClearHandle()

Classe base para objetos de expedição.

(Herdado de DisposableObject)
Dispose()

Libera todos os recursos usados por esse objeto.

(Herdado de DisposableObject)
Dispose(Boolean)

Libera os recursos usados por esse objeto.

(Herdado de NativeObject)
Equals(Object)

Classe base para objetos de expedição.

(Herdado de DisposableObject)
GetCheckedHandle()

Classe base para objetos de expedição.

(Herdado de DisposableObject)
GetHashCode()

Classe base para objetos de expedição.

(Herdado de DisposableObject)
InitializeHandle(NativeHandle)

Classe base para objetos de expedição.

(Herdado de DisposableObject)
Release()

Classe base para objetos de expedição.

Retain()

Classe base para objetos de expedição.

SetTargetQueue(DispatchQueue)

Classe base para objetos de expedição.

Métodos de Extensão

Nome Description
GetHandle(INativeObject)

Classe base para objetos de expedição.

GetNonNullHandle(INativeObject, String)

Classe base para objetos de expedição.

Aplica-se a