Compartilhar via


Suportando tarefas de sincronização simultâneas

O Estrutura de sincronização permite que os usuários criem provedores que podem dar suporte a tarefas de sincronização simultâneas. Porém, ele não dá suporte a sincronização paralela usando o mesmo objeto de sessão. Para desenvolver um provedor habilitado por sincronização simultâneo, use estas diretrizes:

  • O provedor deve fornecer proteções para bloquear e desbloquear o conhecimento durante chamadas.

  • O conhecimento deve ser clonado para permitir que o Estrutura de sincronização combine-o de um thread diferente. Para clonar logicamente um objeto de conhecimento, siga estas etapas antes de retornar um objeto de conhecimento para o Estrutura de sincronização:

    • Crie um novo objeto de conhecimento.

    • Defina a contagem em escala local como 1.

    • Combine o conhecimento existente com esse novo objeto usando ISyncKnowledge::Union.

    • Passe o conhecimento clonado para o Estrutura de sincronização.

Dica

Para aplicativos multithread, o Estrutura de sincronização requer que provedores sejam compatíveis com o apartamento no qual o objeto ISyncSession está sendo executado. Essa restrição também se aplica a todos os objetos passados para o Estrutura de sincronização, como versões, conhecimento etc.

Consulte também

Conceitos

Provedores de sincronização