Articles of multithreading

O segmento de chamada não pode acessar esse object porque um segmento diferente possui

Meu código é como abaixo public CountryStandards() { InitializeComponent(); try { FillPageControls(); } catch (Exception ex) { MessageBox.Show(ex.Message, “Country Standards”, MessageBoxButton.OK, MessageBoxImage.Error); } } /// /// Fills the page controls. /// private void FillPageControls() { popUpProgressBar.IsOpen = true; lblProgress.Content = “Loading. Please wait…”; progress.IsIndeterminate = true; worker = new BackgroundWorker(); worker.DoWork += new System.ComponentModel.DoWorkEventHandler(worker_DoWork); worker.ProgressChanged […]

O que há de errado com o uso de Thread.Abort ()

Então eu sei que você não deveria usar Thread.Abort() Mas nunca recebi uma boa explicação. Existe uma penalidade de desempenho ou alguma pegadinha escondida? Eu sei que você não pode ignorar / engolir o ThreadAbortException (o que faz sentido)

Por que o volátil não é considerado útil em programação C ou C ++ multithread?

Como demonstrado nesta resposta que publiquei recentemente, pareço estar confuso sobre a utilidade (ou falta dela) de volatile em contextos de programação multi-thread. Meu entendimento é o seguinte: sempre que uma variável pode ser alterada fora do stream de controle de uma parte do código que a acessa, essa variável deve ser declarada volatile . […]

Por que o lock (this) {…} é ruim?

A documentação do MSDN diz que public class SomeObject { public void SomeOperation() { lock(this) { //Access instance variables } } } é “um problema se a instância puder ser acessada publicamente”. Eu estou querendo saber porque? Será porque a fechadura será mantida por mais tempo do que o necessário? Ou há algum motivo mais […]

O que é um thread daemon em Java?

Alguém pode me dizer o que os threads daemon estão em Java?

Você já usou a palavra-chave volátil em Java?

No trabalho hoje, me deparei com a palavra–chave volatile em Java. Não estando muito familiarizado com isso, encontrei esta explicação: Teoria e prática de Java: gerenciando a volatilidade Dado o detalhe em que esse artigo explica a palavra-chave em questão, você já a usou ou já viu um caso em que você poderia usar essa […]

Como executar uma tarefa em segundo plano em um aplicativo da web baseado em servlet?

Estou usando Java e quero manter um servlet continuamente em execução no meu aplicativo, mas não estou conseguindo como fazê-lo. Meu servlet tem um método que dá conta do usuário de um database em uma base diária, bem como a contagem total dos usuários de todo o database. Então eu quero manter o servlet funcionando […]

JTextFields no topo do desenho ativo no JPanel, problemas de encadeamento

Alguém já tentou usar o Swing para construir um ambiente de renderização multi-buffer adequado sobre o qual os elementos Swing user interface podem ser adicionados ? Neste caso, tenho um retângulo vermelho animado em um plano de fundo. O plano de fundo não precisa ser atualizado em cada quadro, portanto, eu o renderizo em um […]

StreamCorruptedException: código de tipo inválido: AC

Meu problema é quando ele tenta ler o object pela segunda vez, ele lança a exceção: java.io.StreamCorruptedException: invalid type code: AC at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at Client.run(BaseStaInstance.java:313) java.io.StreamCorruptedException: invalid type code: AC at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at Client.run(BaseStaInstance.java:313) A primeira vez que envio a mesma mensagem de object; no entanto, quando tento fazer a mesma […]

Como você mata um Thread em Java?

Como você mata um java.lang.Thread em Java?