Articles of multithreading

C # Como detectar um object já está bloqueado

Como posso detectar se um object está bloqueado ou não? Monitor.TryEnter (como descrito em Existe uma maneira de detectar se um object está bloqueado? ) Não funciona para mim porque ele bloqueia o object se ele não estiver bloqueado. Eu só quero verificar se está bloqueado e em outro lugar no meu código eu vou […]

Problema com a syntax de delegado em c #

Eu construí um testbox para aprender algo sobre o threading em aplicativos do Windows. O Silverlight e o Java estão fornecendo o Dispatcher, o que realmente ajuda na atualização dos Elementos da GUI. Amostras de Código: Delegado da Classe de Declaração public delegate void d_SingleString(string newText); Criar linha _thread_active = true; Thread myThread = new […]

C #: Como iniciar um thread em um momento específico

Como posso iniciar um thread em segundo plano em uma hora específica do dia, digamos 16:00? Assim, quando os aplicativos são iniciados, o segmento espera até esse momento. Mas se o aplicativo for iniciado após esse período, o encadeamento será executado imediatamente ThreadPool.QueueUserWorkItem(MethodtoRunAt1600);

Monitor versus synchronization de encadeamento baseado no WaitHandle

Fiquei com a impressão, depois de ler este artigo, que é melhor usar o Monitor / Lock para synchronization de threads, já que ele não usa resources nativos Citação específica (da página 5 do artigo): Monitor.Wait / Pulse não é a única maneira de esperar que algo aconteça em um segmento e dizer a esse […]

Nomeado Mutex com aguardar

Portanto, não posso usar bloqueios de afinidade de thread com async – como posso proteger meus resources ao executar vários processos? Por exemplo, eu tenho dois processos que usam uma tarefa abaixo: public async Task MutexWithAsync() { using (Mutex myMutex = new Mutex(false, “My mutex Name”)) { try { myMutex.WaitOne(); await DoSomething(); return true; } […]

Apartamentos Single-Threaded vs Apartamentos Multi-Threaded