Articles of multithreading

C ++ 0x não tem semáforos? Como sincronizar threads?

É verdade que o C ++ 0x virá sem semáforos? Já existem algumas questões sobre o Stack Overflow em relação ao uso de semáforos. Eu os uso (semáforos posix) o tempo todo para deixar um thread esperar por algum evento em outro thread: void thread0(…) { doSomething0(); event1.wait(); … } void thread1(…) { doSomething1(); event1.post(); […]

Como lidar com exceções de access entre threads?

Uma exceção comum que se pode obter ao trabalhar com vários encadeamentos no WPF é: O segmento de chamada não pode acessar esse object porque um segmento diferente possui Quais são as opções para lidar com isso corretamente?

Quando a palavra-chave volátil deve ser usada em C #?

Alguém pode fornecer uma boa explicação da palavra-chave volátil em c #? Quais problemas são resolvidos e quais não? Em quais casos me poupará o uso de bloqueio?

A implementação da linha padrão da Singleton é segura para Meyers?

A implementação a seguir, usando boot lenta, do segmento Singleton (Meyers ‘Singleton) é segura? static Singleton& instance() { static Singleton s; return s; } Se não, por que e como fazer isso seguro?

Exemplo para aumentar shared_mutex (múltiplas leituras / uma gravação)?

Eu tenho um aplicativo multithread que tem que ler alguns dados com freqüência e, ocasionalmente, que os dados são atualizados. Agora um mutex mantém o access a esses dados seguros, mas é caro porque eu gostaria que vários threads pudessem ler simultaneamente e bloqueá-los apenas quando uma atualização fosse necessária (o thread de atualização poderia […]

Referência indefinida para pthread_create no Linux

Eu peguei a seguinte demonstração da web em https://computing.llnl.gov/tutorials/pthreads/ #include #include #define NUM_THREADS 5 void *PrintHello(void *threadid) { long tid; tid = (long)threadid; printf(“Hello World! It’s me, thread #%ld!\n”, tid); pthread_exit(NULL); } int main (int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc; long t; for(t=0; t<NUM_THREADS; t++){ printf("In main: creating thread %ld\n", t); rc […]

java.lang.OutOfMemoryError: espaço de heap Java

Estou recebendo o seguinte erro na execução de um programa multi-threading java.lang.OutOfMemoryError: Java heap space O erro acima ocorreu em um dos segmentos. Até onde sei, o espaço de heap é ocupado apenas por variables ​​de instância. Se isso estiver correto, então por que esse erro ocorreu após a execução correta por algum tempo, já […]

Quando e como devo usar uma variável ThreadLocal?

Quando devo usar uma variável ThreadLocal ? Como isso é usado?

SwingUtilities.invokeLater

Minha pergunta está relacionada ao SwingUtilities.invokeLater . Quando devo usá-lo? Preciso usar cada vez que preciso atualizar os componentes da GUI? O que exatamente faz? Existe uma alternativa para isso, pois não soa intuitivo e adiciona código aparentemente desnecessário?

Implementar Tempo Limite Genérico C #

Eu estou procurando boas idéias para implementar uma maneira genérica de ter uma única linha (ou delegado anônimo) de código executar com um tempo limite. TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min Eu estou procurando uma solução que possa ser elegantemente implementada em muitos […]