Articles of multithreading

Qual é a diferença entre Invoke () e BeginInvoke ()

Basta saber qual é a diferença entre BeginInvoke() e Invoke() ? Principalmente para o que cada um seria usado. EDIT: qual é a diferença entre a criação de um object de threading e chamada invocar sobre isso e apenas chamando BeginInvoke() em um delegado? Ou eles são a mesma coisa?

Um num ++ pode ser atômico para ‘int num’?

Em geral, para int num , num++ (ou ++num ), como uma operação read-modify-write, não é atômica . Mas muitas vezes vejo compiladores, por exemplo, o GCC , gerar o seguinte código para ele ( tente aqui ): Como a linha 5, que corresponde a num++ é uma instrução, podemos concluir que num++ é atômico […]

Qual é a diferença entre um processo e um segmento?

Qual é a diferença técnica entre um processo e um thread? Tenho a sensação de que uma palavra como ‘processo’ é usada em demasia e também há tópicos de hardware e software. Como sobre processos leves em linguagens como Erlang ? Existe uma razão definitiva para usar um termo sobre o outro?

Animação Swing em execução extremamente lenta

Eu tenho um problema com a minha animação atual que estou executando usando o Java Swing. É uma simulação de events discretos e a simulação baseada em texto está funcionando bem, estou tendo problemas para conectar a simulação à saída da GUI. Para este exemplo, terei 10 carros para serem simulados. Os carros são representados […]

Como parar corretamente o Thread em Java?

Eu preciso de uma solução para parar corretamente o segmento em Java. Eu tenho a class IndexProcessor que implementa a interface Runnable: public class IndexProcessor implements Runnable { private static final Logger LOGGER = LoggerFactory.getLogger(IndexProcessor.class); @Override public void run() { boolean run = true; while (run) { try { LOGGER.debug(“Sleeping…”); Thread.sleep((long) 15000); LOGGER.debug(“Processing”); } catch […]

Criando uma fila de bloqueio no .NET?

Eu tenho um cenário onde eu tenho vários segmentos adicionando a uma fila e vários segmentos de leitura da mesma fila. Se a fila atingir um tamanho específico, todos os encadeamentos que estão preenchendo a fila serão bloqueados ao adicionar até que um item seja removido da fila. A solução abaixo é o que estou […]

Automatizando o padrão de código InvokeRequired

Eu me tornei dolorosamente consciente de quantas vezes é necessário escrever o seguinte padrão de código no código GUI orientado a events, onde private void DoGUISwitch() { // cruisin for a bruisin’ through exception city object1.Visible = true; object2.Visible = false; } torna-se: private void DoGUISwitch() { if (object1.InvokeRequired) { object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); […]

Diferença entre wait () e sleep ()

Qual é a diferença entre um wait() e sleep() em Threads? Eu entendo que um thread wait() -ing ainda está em modo de execução e usa ciclos de CPU, mas um sleep() -ing não consome nenhum ciclo de CPU correto? Por que temos wait() e sleep() : como a implementação deles varia em um nível […]

Qual é a diferença entre Thread start () e Runnable run ()

Digamos que temos esses dois Runnables: class R1 implements Runnable { public void run() { … } … } class R2 implements Runnable { public void run() { … } … } Então qual é a diferença entre isso: public static void main() { R1 r1 = new R1(); R2 r2 = new R2(); r1.run(); […]

Use a API Unity de outro Thread ou chame uma function no Thread principal

Meu problema é que eu tento usar o soquete Unity para implementar alguma coisa. Cada vez que recebo uma nova mensagem, preciso atualizá-la para o updattext (é um texto Unity). No entanto, quando eu faço o código a seguir, a atualização void não chama todas as vezes. A razão para eu não incluo updatetext.GetComponent().text = […]