Articles of multithreading

Quicksort multithreaded ou mergesort

Como posso implementar um algoritmo de quicksort ou mergesort concorrente para Java? Nós tivemos problemas em um Mac de 16 (virtuais) onde apenas um núcleo (!) Estava trabalhando usando o algoritmo padrão de sorting Java e não era bom ver que uma máquina muito boa fosse completamente subutilizada. Então nós escrevemos o nosso próprio (eu […]

Versão c # da palavra-chave sincronizada do java?

O c # tem sua própria versão da palavra-chave “sincronizada” do java? Ou seja, em java pode ser especificado para uma function, um object ou um bloco de código, da seguinte forma: public synchronized void doImportantStuff() { // dangerous code goes here. } ou public void doImportantStuff() { // trivial stuff synchronized(someLock) { // dangerous […]

Java: Como dimensionar encadeamentos de acordo com núcleos de cpu?

Eu não sou um bom programador de java, é apenas o meu hobby, mas estou ansioso para saber mais do que a média das coisas. Eu quero resolver um problema matemático com vários segmentos em java. meu problema de matemática pode ser separado em unidades de trabalho, que eu quero ter resolvido em vários segmentos. […]

Por que deve esperar () sempre ser chamado dentro de um loop

Eu li que devemos sempre chamar um wait() de dentro de um loop: while (!condition) { obj.wait(); } Funciona bem sem um loop então por que isso?

Escrevendo para um TextBox de outro segmento?

Eu não consigo descobrir como fazer um aplicativo de formulário C # Windows gravar em uma checkbox de texto de um segmento. Por exemplo, no Program.cs, temos o padrão main () que desenha o formulário: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } Então nós temos no Form1.cs: public Form1() { InitializeComponent(); new Thread(SampleFunction).Start(); […]

Multitões seguros de thread em Java

Dado o seguinte multiton: public class Multiton { private static final Multiton[] instances = new Multiton[…]; private Multiton(…) { //… } public static Multiton getInstance(int which) { if(instances[which] == null) { instances[which] = new Multiton(…); } return instances[which]; } } Como podemos mantê-lo seguro e preguiçoso sem a dispendiosa synchronization do método getInstance () e […]

O que é um mutex?

Um mutex é um conceito de programação que é freqüentemente usado para resolver problemas de multi-threading. Minha pergunta para a comunidade: O que é um mutex e como você o usa?

A diferença entre as interfaces Runnable e Callable em Java

Qual é a diferença entre usar as interfaces Runnable e Callable ao projetar um thread concorrente em Java, por que você escolheria uma sobre a outra?

Thread.stop () – depreciado

Por que Thread.stop() obsoleto em Java? No site deles, vejo o seguinte: Por que o Thread.stop está obsoleto? Porque é inerentemente inseguro. Parar um thread faz com que ele desbloqueie todos os monitores que ele bloqueou. (Os monitores são desbloqueados à medida que a exceção ThreadDeath propaga na pilha.) Se algum dos objects anteriormente protegidos […]

Como iniciar dois threads em “exatamente” ao mesmo tempo

Os encadeamentos devem começar na mesma fração de segundo. Eu entendo, se você fizer thread1.start() , levará alguns milissegundos antes da próxima execução de thread2.start() . É mesmo possível ou impossível?