Articles of multithreading

O que é uma condição de corrida?

Ao escrever aplicativos multi-threaded, um dos problemas mais comuns são condições de corrida. Minhas perguntas para a comunidade são: O que é uma condição de corrida? Como você os detecta? Como você lida com eles? Finalmente, como você impede que eles ocorram?

Controle WebBrowser em um novo segmento

Eu tenho uma lista de Uri que eu quero “clicado” Para conseguir isso, eu estou tentando criar um novo controle de navegador da web por Uri. Eu crio um novo thread por Uri. O problema que estou tendo é o fim do segmento antes do documento está totalmente carregado, então eu nunca consigo usar o […]

Loop não vê valor alterado sem um comando print

No meu código eu tenho um loop que aguarda algum estado a ser alterado de um segmento diferente. O outro segmento funciona, mas meu loop nunca vê o valor alterado. Espera para sempre. No entanto, quando eu coloco uma instrução System.out.println no loop, de repente funciona! Por quê? O seguinte é um exemplo do meu […]

Iniciar o encadeamento com a function de membro

Eu estou tentando construir um std::thread com uma function de membro que não leva argumentos e retorna void . Eu não consigo descobrir nenhuma syntax que funcione – o compilador reclama, não importa o quê. Qual é a maneira correta de implementar o spawn() para que ele retorne um std::thread que execute test() ? #include […]

Como os servlets funcionam? Instanciação, sessões, variables ​​compartilhadas e multithreading

Suponha que eu tenha um servidor que contém vários servlets. Para informações transmitidas entre esses servlets, estou configurando variables ​​de session e instância. Agora, se dois ou mais usuários enviarem solicitação para esse servidor, o que acontece com as variables ​​da session? Serão todos comuns para todos os usuários ou serão diferentes para cada usuário? […]

Como faço para atualizar a GUI de outro segmento?

Qual é a maneira mais simples de atualizar um Label de outro thread? Eu tenho um Form no thread1 e de que eu estou começando outro thread ( thread2 ). Enquanto o thread2 está processando alguns arquivos, eu gostaria de atualizar um Label no Form com o status atual do thread2 do thread2 . Como […]

Operação de encadeamento cruzado inválida: o controle acessado de um encadeamento diferente do encadeamento em que foi criado

Eu tenho um cenário. (Formulários do Windows, C #, .NET) Existe um formulário principal que hospeda algum controle de usuário. O controle de usuário faz alguma operação de dados pesados, de modo que, se eu chamar diretamente o método UserControl_Load , a interface do usuário se tornará não responsiva durante a execução do método de […]

“Implementa Runnable” vs. “extends Thread”

A partir de que horas eu passei com threads em Java, eu encontrei estas duas maneiras de escrever tópicos: Com implements Runnable : public class MyRunnable implements Runnable { public void run() { //Code } } //Started with a “new Thread(new MyRunnable()).start()” call Ou, com extends Thread : public class MyThread extends Thread { public […]