Resultados da pesquisa a pedido "memory-model"

2 a resposta

Implementação Thread.VolatileRead

Eu estou olhando para a implementação doVolatileRead / VolatileWrite métodos (usando o Reflector), e estou intrigado com alguma coisa. Esta é a implementação do VolatileRead: [MethodImpl(MethodImplOptions.NoInlining)] public static int ...

7 a resposta

Qual é o modelo de memória C ++ 03 para simultaneidade?

Qual é o modelo de memória para simultaneidade no C ++ 03? (E o C ++ 11 altera o modelo de memória para oferecer melhor suporte à simultaneidade?)

1 a resposta

As instruções bloqueadas fornecem uma barreira entre acessos com ordens fracas?

No x86,lockpré-fixadas, comolock cmpxchg fornecem semântica de barreira além de sua operação atômica: para acesso normal à memória em regiões de memória de write-back, as leituras e gravações não são reordenadaslockpré-fixadas, de acordo com a ...

2 a resposta

Quais são alguns casos de uso para memory_order_relaxed

O modelo de memória C ++ possui atômicas relaxadas, que não oferecem garantias de pedidos nas operações de memória. Diferente do exemplo da caixa de correio em C, que encontrei ...

1 a resposta

Está gravando uma referência atômica em VMs de 64 bits

O modelo de memória java exige que escrever umint é atômico: ou seja, se você escrever um valor para ele (que consiste em 4 bytes) em um thread e ler em outro, obterá todos os bytes ou nenhum, mas nunca 2 novos bytes e 2 bytes antigos ou algo ...

4 a resposta

Duas gravações atômicas em locais diferentes em threads diferentes sempre serão vistas na mesma ordem por outros threads?

Semelhante ao meuanterior [https://stackoverflow.com/questions/27333311] pergunta, considere este código -- Initially -- std::atomic<int> x{0}; std::atomic<int> y{0}; -- Thread 1 -- x.store(1, std::memory_order_release); -- Thread 2 -- ...

5 a resposta

Algoritmo de Peterson em Java?

Existe exemplo de implementação do algoritmo Peterson para exclusão mútua em Java?

6 a resposta

Por que (ou não) a configuração de campos em um construtor é segura para threads?

Digamos que você tenha uma classe simples como esta: class MyClass { private readonly int a; private int b; public MyClass(int a, int b) { this.a = a; this.b = b; } public int A { get { return a; } } public int B { get { return b; } } }Eu ...

2 a resposta

Modelo de memória Java: É seguro criar um gráfico de referência cíclico dos campos da instância final, todos atribuídos no mesmo encadeamento?

Alguém que entende o Java Memory Model melhor do que eu pode confirmar que o código a seguir está sincronizado corretamente? class Foo { private final Bar bar; Foo() { this.bar = new Bar(this); } } class Bar { private final Foo foo; Bar(Foo foo) ...

5 a resposta

Por que o padrão de chamada de evento C # padrão é seguro para threads sem uma barreira de memória ou invalidação de cache? E o código semelhante?

Em C #, este é o código padrão para chamar um evento de maneira segura para threads: var handler = SomethingHappened; if(handler != null) handler(this, e);Onde, potencialmente em outro encadeamento, o método add gerado pelo ...