Articles of multithreading

Há algum problema em usar uma string como object de bloqueio?

Eu preciso fazer uma seção crítica em uma área com base em um conjunto finito de seqüências de caracteres. Eu quero o bloqueio para ser compartilhado para a mesma instância de seqüência de caracteres (um pouco semelhante à abordagem String.Intern ). Eu estou considerando a seguinte implementação: public class Foo { private readonly string _s; […]

Como fazer o Qt funcionar quando o thread principal está ocupado?

Principal (function principal está lá) thread do meu programa é reservado para tarefas não-GUI. Ele chama um número de funções de cálculo longas. Todas as GUIs implementadas têm feito seu trabalho em segmentos separados. Agora vou implementar mais uma GUI usando o Qt. A documentação do Qt diz que todas as tarefas relacionadas à GUI […]

Posso obter o pthread.h do Unix para compilar no Windows?

Se eu tentar compilar um programa com #include nele, eu recebo o erro: pthread.h: No such file or directory É possível obter isso para compilar em um ambiente Windows? Eu estou usando o Vista com o mais recente MinGW. Eu não quero usar o Microsoft Windows Services para UNIX versão 3.5 como eu terei que […]

O que é um “fio” (sério)?

Eu tenho tentado encontrar uma boa definição e entender o que realmente é um segmento . Parece que eu devo estar perdendo algo óbvio, mas toda vez que eu leio sobre o que é um thread, é quase uma definição circular, a la “um thread é um thread de execução” ou “uma maneira de dividir […]

O multithreading faz sentido para operações vinculadas a E / S?

Ao executar várias operações de disco, o multithreading ajuda, dificulta ou não faz diferença? Por exemplo, ao copiar muitos arquivos de uma pasta para outra. Esclarecimento : Eu entendo que quando outras operações são realizadas, a concorrência obviamente fará a diferença. Se a tarefa for abrir um arquivo de imagem, converter para outro formato e, […]

WaitForSingleObject e WaitForMultipleObjects equivalentes no linux

Estou migrando um applciation do windows para o linux. Eu estou enfrentando problema com relação às interfaces WaitForSingleObject e WaitForMultipleObjects . No meu aplicativo eu gero vários threads onde todos os threads aguardam por events do processo pai ou executam periodicamente por cada t segundos. Eu verifiquei pthread_cond_timedwait , mas temos que especificar o tempo […]

Sincronização de construtor em Java

Alguém em algum lugar me disse que os construtores Java são sincronizados para que não possam ser acessados ​​simultaneamente durante a construção, e fiquei me perguntando: se eu tenho um construtor que armazena o object em um mapa, e outro thread o recupera desse mapa antes de sua construção está terminado, esse bloco de encadeamento […]

Implementação segura de thread de buffer circular

Circular_buffer da biblioteca de reforço não é thread-safe. Então eu coloquei o object boost :: circular_buffer em uma class como mostrado abaixo. A exclusão mútua entre os encadeamentos é obtida (acho) usando variables ​​condicionais, um mutex e uma aquisição / liberação de bloqueio. Este thread de implementação é seguro? #include #include #include #include // Thread […]

Cancelar uma tarefa está lançando uma exceção

Pelo que li sobre Tarefas, o código a seguir deve cancelar a tarefa atualmente em execução sem gerar uma exceção. Fiquei com a impressão de que todo o objective do cancelamento da tarefa era educadamente “pedir” que a tarefa parasse sem interromper os tópicos. A saída do programa a seguir é: Exceção de dumping [OperationCanceledException] […]

Contêiner Jboss Java EE e um ExecutorService

Eu tenho um aplicativo java autônomo que usou o ExecutorService para processar um número de trabalhos em paralelo ExecutorService es = Executors.newFixedThreadPool(10); Agora, quero reutilizar a mesma solução em um bean EJB, mas não tenho certeza de como inicializar corretamente o ThreadPool, pois normalmente deixaria o contêiner Java EE para controlar todos os resources de […]