Articles of multithreading

Invocando o método no thread de interface do usuário de dentro de um Lock ()

Eu tenho dois methods, MethodA e MethodA . MethodB precisa ser executado no thread da interface do usuário. Eu preciso que eles executem um após o outro sem permitir que o MethodC seja executado entre eles. MethodC é chamado quando um usuário clica em um pequeno e adorável botão. O que eu fiz para garantir […]

Como executar um método após um intervalo de tempo específico?

É claro: por exemplo, imagine um botão no meu formulário. Quando um usuário clica no botão, algum método vazio deve ser executado após 30 segundos. Haveria um método vazio DoAfterDelay que usa dois parâmetros de input. O primeiro é o método a ser feito (usando delegates) e o outro é o intervalo de tempo. Então […]

Segmento beforesave c # excel

Eu tento criar o add-in ac # excel 2007, e eu quero fazer “mais rápido” o método “beforeSave”. Eu simplesmente uso um thread (e tento a task e task.factory também), mas é sempre o mesmo erro. O código. private void ThisAddIn_Startup(object sender, System.EventArgs e) { this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave); }// thisAddIn_startup method end public void […]

Exceção entre segmentos esperada em um aplicativo C # WinForms não ocorreu

Eu estou vindo do WPF e sou novo no WinForms. Ao investigar uma situação de cross-threading, uma exceção de thread cruzada que eu esperava não ocorreu. Aqui está um resumo básico da minha situação. Há um controle de Label chamado label1 e um Button chamado button1 . O manipulador de events de clique para button1 […]

C # .Net recebendo pacotes UDp no thread separator e na saída do aplicativo

No meu aplicativo WinForms, estou recebendo dados por meio de UDP em um thread dedicado e criando um evento sempre que um novo pacote de dados é recebido. O aplicativo funciona bem, mas o problema é que na saída do aplicativo, o ouvinte do UDP continua ouvindo e, assim, mantém o aplicativo em execução. Threading […]

parando uma function executada em um clique no botão do winform

Em um aplicativo winform simples, eu chamo uma function que infinitamente cria arquivos em um evento de clique de botão. Eu adiciono Application.DoEvents () ao loop. Eu pressiono o X vermelho para fechar o formulário. o formulário é fechado, mas os arquivos continuam sendo criados … Eu acho que está no thread de botões, mas […]

Como posso notificar o thread principal de alguma mensagem em outro thread sem bloquear e aguardar?

Estou escrevendo um componente ac # que só será usado internamente na minha empresa. O componente encapsula a comunicação com vários servidores com os quais determinados aplicativos de desktop precisam se comunicar. Os servidores podem enviar mensagens não solicitadas ao componente, que são “capturadas” em um thread separado. Eu quero a maioria deste componente para […]

AutoResetEvent Reset imediatamente após Set

Considere o seguinte padrão: private AutoResetEvent signal = new AutoResetEvent(false); private void Work() { while (true) { Thread.Sleep(5000); signal.Set(); //has a waiting thread definitely been signaled by now? signal.Reset(); } } public void WaitForNextEvent() { signal.WaitOne(); } O objective desse padrão é permitir que os consumidores externos esperem por um determinado evento (por exemplo, uma […]

Semáforo com prioridade

Eu sei sobre a class Semaphore no namespace System.Threading , mas não vejo se isso permite que threads em espera tenham níveis de prioridades diferentes. Se dois segmentos estão esperando por um slot aberto, existe uma maneira de permitir que o segmento com maior prioridade tenha o primeiro slot aberto disponível?

Como criar n base de object em DataTable.Rows.Count em c #?

Todo o código abaixo apenas para criar dois processos. Enquanto eu preciso criar n processo para abrir o navegador Chrome e executar OpenNRowsInData(user, pwd) base em dtUser.Rows.Count porque isso é dynamic. E eu não sei porque OpenNRowsInData(user, pwd); sempre só pegue primeiras linhas. Eu tenho um intervalo de DataTable de 1-7 linhas. Normalmente, usava normalmente […]