Articles of synchronization

Está mudando um ponteiro considerado uma ação atômica em C?

Se eu tiver um programa multi-threaded que lê uma memory do tipo cache por referência. Posso alterar esse ponteiro pelo thread principal sem arriscar nenhum dos outros threads lendo valores inesperados. Do meu ponto de vista, se a alteração for atômica, os outros threads lerão o valor mais antigo ou o valor mais recente; nunca […]

Você deve sincronizar o método de execução? Por que ou por que não?

Eu sempre pensei que a synchronization do método de execução em uma class java que implementa o Runnable é redundante. Eu estou tentando descobrir porque as pessoas fazem isso: public class ThreadedClass implements Runnable{ //other stuff public synchronized void run(){ while(true) //do some stuff in a thread } } } Parece redundante e desnecessário, já […]

Como fazer um bloqueio de leitura múltipla / gravação única a partir de primitivos de synchronization mais básicos?

Descobrimos que temos vários pontos em nosso código onde leituras simultâneas de dados protegidos por um mutex são bastante comuns, enquanto as gravações são raras. Nossas medições parecem dizer que o uso de um simples mutex dificulta seriamente o desempenho do código de leitura desses dados. Então, o que precisamos é de um mutex de […]

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 […]

Monitor vs Mutex em c #

Duplicar Possível: Quais são as diferenças entre várias opções de synchronization de threading em c #? Qual é a diferença entre um monitor e um mutex em c #? Quando usar um monitor e quando usar um mutex em c #?

Bloco sincronizado Java vs. Collections.synchronizedMap

O código a seguir está configurado para sincronizar corretamente as chamadas no synchronizedMap ? public class MyClass { private static Map<String, List> synchronizedMap = Collections.synchronizedMap(new HashMap<String, List>()); public void doWork(String key) { List values = null; while ((values = synchronizedMap.remove(key)) != null) { //do something with values } } public static void addToMap(String key, String […]

Quais são as diferenças entre várias opções de synchronization de threading em c #?

Alguém pode explicar a diferença entre: lock (someobject) {} Usando Mutex Usando o semáforo Usando o Monitor Usando outras classs de synchronization .Net Eu simplesmente não consigo descobrir. Parece-me que os dois primeiros são os mesmos?

Como determinar se um object está bloqueado (sincronizado) para não bloquear em Java?

Eu tenho um processo A que contém uma tabela na memory com um conjunto de registros (recordA, recordB, etc …) Agora, esse processo pode iniciar vários encadeamentos que afetam os registros e, às vezes, podemos ter 2 encadeamentos tentando acessar o mesmo registro – essa situação deve ser negada. Especificamente, se um registro for LOCKED […]

Solicitação síncrona no Node.js

Se eu precisar chamar 3 API http em ordem seqüencial, qual seria uma alternativa melhor para o seguinte código: http.get({ host: ‘www.example.com’, path: ‘/api_1.php’ }, function(res) { res.on(‘data’, function(d) { http.get({ host: ‘www.example.com’, path: ‘/api_2.php’ }, function(res) { res.on(‘data’, function(d) { http.get({ host: ‘www.example.com’, path: ‘/api_3.php’ }, function(res) { res.on(‘data’, function(d) { }); }); } […]

Bloco Sincronizado Java para .class

O que esse código java significa? Será que vai conseguir bloquear todos os objects do MyClass ? synchronized(MyClass.class) { //is all objects of MyClass are thread-safe now ?? } E como o código acima difere deste: synchronized(this) { //is all objects of MyClass are thread-safe now ?? }