DispatchObject Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |