Articles of synchronization

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 ?? }

Java Singleton e Sincronização

Por favor, esclarecer minhas dúvidas sobre Singleton e Multithreading: Qual é a melhor maneira de implementar o Singleton em Java, em um ambiente multithread? O que acontece quando vários segmentos tentam acessar o método getInstance() ao mesmo tempo? Podemos tornar o getInstance() do singleton synchronized ? A synchronization é realmente necessária ao usar classs Singleton?

Como proteger os resources que podem ser usados ​​em um ambiente multi-threaded ou asynchronous?

Eu estou trabalhando em uma API C # que é usada por uma variedade de consumidores. Essa API fornece access a um recurso compartilhado (no meu caso, hardware que faz comunicação serial), que geralmente terá alguns atores diferentes tentando usá-lo simultaneamente. O problema que tenho é que alguns dos meus consumidores vão querer usar isso […]

Como compartilhar semáforos entre processos usando memory compartilhada

Eu tenho que sincronizar os processos do cliente N com um servidor. Esses processos são bifurcados por uma function principal na qual declarei 3 semáforos. Eu decidi usar os semáforos POSIX, mas não sei como compartilhá-los entre esses processos. Eu pensei que a memory compartilhada deveria funcionar corretamente, mas eu tenho algumas perguntas: Como posso […]

Objeto de bloqueio estático versus não estático no bloco sincronizado

Tentando visualizar e entender a synchronization . Quais são as diferenças entre usar um object de bloqueio estático (código A) e um object de bloqueio não estático (código B) para um bloco sincronizado ? Como isso difere em aplicações práticas? Quais são as armadilhas que um teria que o outro não faria? Quais são os […]

Quando devemos usar o mutex e quando devemos usar o semáforo

Quando devemos usar o mutex e quando devemos usar o semáforo?

Sincronização IPC de memory compartilhada (sem bloqueio)

Considere o seguinte cenário: Requisitos: Servidor Intel x64 (vários sockets de CPU => NUMA) Ubuntu 12, GCC 4.6 Dois processos compartilhando grandes quantidades de dados sobre (nome) memory compartilhada Cenário Clássico Produtor-Consumidor A memory é organizada em um buffer circular (com elementos M) Sequência de programa (pseudo código): Processo A (Produtor): int bufferPos = 0; […]

Quando se deve usar um spinlock em vez de um mutex?

Eu acho que ambos estão fazendo o mesmo trabalho, como você decide qual deles usar para synchronization?

Posso usar __syncthreads () depois de ter descartado threads?

É seguro usar __syncthreads() em um bloco onde eu propositalmente __syncthreads() threads usando return ? A documentação afirma que __syncthreads() deve ser chamado por cada thread no bloco, ou então levará a um deadlock, mas na prática eu nunca experimentei tal comportamento. Código de amostra: __global__ void kernel(float* data, size_t size) { // Drop excess […]

Sincronizando em um valor inteiro

Duplicar Possível: Qual é a melhor maneira de aumentar o número de bloqueios em java Suponha que eu queira bloquear com base em um valor de id inteiro. Nesse caso, há uma function que extrai um valor de um cache e faz uma recuperação / armazenamento razoavelmente cara no cache, se o valor não estiver […]