Articles of multithreading

Obtendo o ID do encadeamento de um encadeamento

Em C # ao depurar threads por exemplo, você pode ver o ID de cada thread. Não consegui encontrar uma maneira de obter o mesmo thread, programaticamente. Eu não conseguia nem obter o ID do segmento atual (nas propriedades do Thread.currentThread ). Então, eu me pergunto como o Visual Studio obter os IDs dos segmentos, […]

Como você implementaria seu próprio bloqueio de leitor / gravador no C ++ 11?

Eu tenho um conjunto de estruturas de dados que eu preciso proteger com um bloqueio de leitores / gravador. Estou ciente de boost :: shared_lock, mas eu gostaria de ter uma implementação personalizada usando std :: mutex, std :: condition_variable e / ou std :: atomic para que eu possa entender melhor como funciona (e […]

Atomic UPDATE .. SELECT no Postgres

Eu estou construindo um tipo de mecanismo de enfileiramento. Existem linhas de dados que precisam de processamento e um sinalizador de status. Estou usando uma update .. returning cláusula para gerenciá-lo: UPDATE stuff SET computed = ‘working’ WHERE id = (SELECT id from STUFF WHERE computed IS NULL LIMIT 1) RETURNING * A parte de […]

Por que wait () e notify () são declarados na class Object do Java?

Por que os methods wait() e notify() são declarados na class Object , em vez da class Thread ?

Terminação de segmento C # e Thread.Abort ()

No MSDN, a descrição do método Thread.Abort () diz: “Chamar esse método geralmente termina o segmento”. Por que não sempre? Em quais casos não termina o tópico? Existe alguma outra possibilidade para terminar os tópicos?

É Task.Factory.StartNew () garantido para usar outro segmento que o segmento de chamada?

Eu estou começando uma nova tarefa de uma function, mas eu não quero que ele seja executado no mesmo segmento. Eu não ligo para qual encadeamento ele é executado, contanto que seja diferente (então as informações dadas nesta questão não ajudam). Tenho certeza de que o código abaixo sempre sairá do TestLock antes de permitir […]

“DateFormat Java não é threadsafe” o que isso leva?

Todo mundo adverte sobre Java DateFormat não ser thread seguro e eu entendo o conceito teoricamente. Mas não consigo visualizar quais problemas reais podemos enfrentar devido a isso. Digamos, eu tenho um campo DateFormat em uma class e o mesmo é usado em diferentes methods na class (datas de formatação) em um ambiente multi-threaded. Isso […]

Thread pooling em C ++ 11

Questões relevantes : Sobre o C ++ 11: C ++ 11: std :: thread agrupado? O asynchronous (launch :: async) em C ++ 11 torna os pools de threads obsoletos para evitar a criação de threads caras? Sobre o Boost: C ++ impulsionam threads de reutilização de threads boost :: thread e criando um pool […]

Tecnicamente, por que os processos em Erlang são mais eficientes que os segmentos do sistema operacional?

Características do Erlang Da programação de Erlang (2009): A simultaneidade do Erlang é rápida e escalável. Seus processos são leves, na medida em que a máquina virtual Erlang não cria um thread do sistema operacional para cada processo criado. Eles são criados, programados e manipulados na VM, independentemente do sistema operacional subjacente. Como resultado, o […]

É inteligente replace boost :: thread e boost :: mutex com c ++ 11 equivalentes?

Motivação: pelo que estou considerando é que meu genial gerente de projeto acha que boost é outra dependência e que é horrível porque “você depende disso” (tentei explicar a qualidade do boost, depois desisti depois de algum tempo 🙁 Menor razão pela qual eu gostaria de fazer é que eu gostaria de aprender os resources […]