Compartilhar via


Como: Coordenar vários threads de execução

A fim de seus componentes multissegmentados ser thread-safe, você deve coordenar o acesso a recursos compartilhados.Se vários segmentos tentarem acessar um recurso compartilhado ao mesmo time, as condições de corrida podem ocorrer, causando corrupção de dados.Você pode evitar condições de corrida usando bloqueios.Para obter detalhes sobre as condições de corrida e de segurança do thread, consulte Componentes do thread-safe.

Para criar um bloquear em um objeto

  1. Identifique o código que deve ser executado atomicamente e o objeto no qual o código será executado.Para obter detalhes, consulte Componentes do thread-safe

  2. Colocar um bloquear nesse objeto e inclua o código dentro desse bloquear.

    Esse código agora será executado atomicamente sobre o objeto bloqueado.

    SyncLock MyObject   ' This represents the start of the lock on MyObject.
    ' Insert code to be executed atomically on MyObject here.
    End SyncLock   ' This represents the end of the lock.
    
    lock (MyObject) 
       // All code inside the braces {} is executed with MyObject locked.
    {
       // Insert code to be executed atomically on MyObject here.
    }
    

Consulte também

Tarefas

Demonstra Passo a passo: Criação de um componente Multithreaded simples com o Visual Basic

Demonstra Passo a passo: Criação de um componente Multithreaded simples com translation from VPE for Csharp Visual

Conceitos

Componentes do thread-safe

Com base em eventos Asynchronous Padrão Overview

Referência

BackgroundWorker

Outros recursos

Multithreading in Components