Articles of multithreading

Bloqueio verificado duplo Java

Eu me deparei com um artigo discutindo recentemente o duplo padrão de bloqueio verificado em Java e suas armadilhas e agora eu estou querendo saber se uma variante desse padrão que eu tenho usado há anos está sujeita a quaisquer problemas. Eu olhei para muitos posts e artigos sobre o assunto e entendi os possíveis […]

Operação de Crossthread inválida… – VB.NET

Eu estou usando vb.net, e no meu programa eu recebo este erro ‘crossthread operação não válida’ quando eu executar meu backgroundworker que irá tornar esta checkbox de texto habilitada true. Meu sub principal primeiro irá ativar o enabled para false, e quando o backgroundworker for executado, ele retornará true e sairá. Por que isso me […]

Por que não é uma boa prática sincronizar em Boolean?

Meu arquiteto sempre diz que Nunca sincronize em Boolean Eu não sou capaz de entender o motivo e realmente aprecio se alguém poderia explicar com um exemplo de por que não é uma boa prática. Código Amostra de Referência private Boolean isOn = false; private String statusMessage = “I’m off”; public void doSomeStuffAndToggleTheThing(){ // Do […]

Como colocar uma tarefa para dormir (ou atraso) no C # 4.0?

Há Task.Delay no .NET 4.5 Como posso fazer o mesmo no .NET 4.0?

Os sequenciadores estáticos Java estão seguros?

Eu estou usando um bloco de código estático para inicializar alguns controladores em um registro que eu tenho. Minha pergunta é, portanto, posso garantir que este bloco de código estático será chamado apenas uma vez quando a class for carregada pela primeira vez? Eu entendo que não posso garantir quando este bloco de código será […]

a atribuição de referência é atômica, então por que o Interlocked.Exchange (ref Object, Object) é necessário?

No meu serviço da web asmx multithreaded eu tinha um campo de class _allData do meu próprio tipo SystemData que consiste em alguns List e Dictionary marcado como volatile . Os dados do sistema ( _allData ) são atualizados de vez em quando e eu faço isso criando outro object chamado newData e preencha suas […]

Escolha entre o envio de ExecutorService e o de ExecutorService

Como devo escolher entre o envio ou execução do ExecutorService , se o valor retornado não é da minha conta? Se eu testar os dois, não vi diferenças entre os dois, exceto o valor retornado. ExecutorService threadExecutor = Executors.newSingleThreadExecutor(); threadExecutor.execute(new Task()); ExecutorService threadExecutor = Executors.newSingleThreadExecutor(); threadExecutor.submit(new Task());

Trata-se de um pool de threads de trabalho idiomático no Go?

Eu estou tentando escrever um simples pool de trabalho com goroutines. O código que escrevi é idiomático? Se não, então o que deve mudar? Eu quero ser capaz de definir o número máximo de segmentos de trabalho para 5 e bloquear até que um trabalhador se torne disponível se todos os 5 estiverem ocupados. Como […]

Como faço para o meu ArrayList Thread-Safe? Outra abordagem para o problema em Java?

Eu tenho um ArrayList que eu quero usar para manter os objects RaceCar que estendem a class Thread assim que eles terminam de executar. Uma class, chamada Race, manipula essa ArrayList usando um método de retorno de chamada que o object RaceCar chama quando a execução é concluída. O método de retorno de chamada, addFinisher […]

Quais operações são atômicas em c #?

Existe uma maneira sistemática de saber se uma operação em C # será atômica ou não? Ou existem diretrizes gerais ou regras práticas?