Articles of multithreading

Qual é o impacto de Thread.Sleep (1) em c #?

Em um aplicativo de formulário do windows, qual é o impacto de chamar Thread.Sleep(1) conforme ilustrado no código a seguir: public Constructor() { Thread thread = new Thread(Task); thread.IsBackground = true; thread.Start(); } private void Task() { while (true) { // do something Thread.Sleep(1); } } Será que esta discussão vai consumir toda a CPU […]

Como proteger os resources que podem ser usados ​​em um ambiente multi-threaded ou asynchronous?

Eu estou trabalhando em uma API C # que é usada por uma variedade de consumidores. Essa API fornece access a um recurso compartilhado (no meu caso, hardware que faz comunicação serial), que geralmente terá alguns atores diferentes tentando usá-lo simultaneamente. O problema que tenho é que alguns dos meus consumidores vão querer usar isso […]

Maneira mais eficiente de registrar mensagens no TextArea JavaFX por meio de encadeamentos com estruturas de registro customizadas simples

Eu tenho um quadro de registro personalizado simples como este: package something; import javafx.scene.control.TextArea; public class MyLogger { public final TextArea textArea; private boolean verboseMode = false; private boolean debugMode = false; public MyLogger(final TextArea textArea) { this.textArea = textArea; } public MyLogger setVerboseMode(boolean value) { verboseMode = value; return this; } public MyLogger setDebugMode(boolean […]

Qual é o número máximo de threads no Windows Server 2003?

Alguém sabe? E uma questão maior é o que acontece quando você encontra esse máximo? Este é o mesmo número com outros sistemas operacionais Windows, como o Vista, XP etc.?

Diferença entre executar e iniciar um segmento

Eu não entendo a diferença entre iniciar e executar um thread, eu testei os dois methods e eles saídas o mesmo resultado, primeiro eu usei uma combinação de run () e iniciar no mesmo segmento e eles fizeram a mesma function da seguinte forma: public class TestRunAndStart implements Runnable { public void run() { System.out.println(“running”); […]

Como exibir de forma eficiente o vídeo OpenCV no Qt?

Estou capturando vários streams de câmeras IP com a ajuda do OpenCV. Quando eu tento exibir esses streams de uma janela do OpenCV ( cv::namedWindow(…) ), ele funciona sem nenhum problema (tentei até 4 streams até agora). O problema surge quando eu tento mostrar esses streams dentro de um widget Qt. Como a captura é […]

Variável volátil em Java

Então, estou lendo este livro intitulado Java Concurrency in Practice e estou preso a essa explicação que não consigo compreender sem um exemplo. Esta é a citação: Quando o thread A grava em uma variável volátil e, subsequentemente, o thread B lê a mesma variável, os valores de todas as variables ​​que estavam visíveis para […]

Como abortar um thread de maneira rápida e limpa em java?

Aqui está o meu problema: Eu tenho um diálogo com alguns parâmetros que o usuário pode alterar (por meio de um spinner, por exemplo). Cada vez que um desses parâmetros é alterado, inicio um thread para atualizar uma visualização 3D de acordo com o novo valor do parâmetro. Se o usuário alterar outro valor (ou […]

Como invocar um método de interface do usuário de outro segmento

Jogando rodada com timeres. Contexto: um winforms com dois labels. Gostaria de ver como o System.Timers.Timer funciona, portanto, não usei o timer de formulários. Eu entendo que o formulário e myTimer agora serão executados em diferentes segmentos. Existe uma maneira fácil de representar o tempo decorrido em lblValue na seguinte forma? Eu olhei aqui no […]

Um thread-safe do HashMap é seguro para chaves diferentes?

Se eu tiver dois threads múltiplos acessando um HashMap, mas garantindo que eles nunca estarão acessando a mesma chave ao mesmo tempo, isso pode levar a uma condição de corrida?