Вопросы по теме 'happens-before'

Установление Happens-Before в массивах
Есть быстрый вопрос синхронизации, вот что у меня есть: а) Class1 имеет параллельную хеш-карту, определенную следующим образом: ConcurrentMap<String, int[][]> map = new ConcurrentHashMap<String, int[][]>(); б) Class2 имеет...
131 просмотров

Java происходит до и синхронизация
У меня небольшие разногласия по поводу происходит до в Java и синхронизации. Представьте себе следующий сценарий: Основная тема MyObject o = new MyObject(); // (0) synchronized (sharedMonitor) { // (1) add the object to a shared...
2146 просмотров

Задается ли отношение «происходит до» в случае invokeLater() или invokeAndWait?
Почти уверен, что так оно и есть, но мне хотелось бы знать наверняка, происходит ли отношение перед тем, как оно задано в случае invokeLater() или invokeAndWait()? Методы определены в (SwingUtilities соответственно) AWT.EventQueue. Я предполагаю,...
324 просмотров

Не по порядку пишет без барьера памяти: единственная возможная причина гонки данных?
При изучении Java Concurrency by Brian Goetz на практике я наткнулся на следующую строку: Гонка данных происходит, когда переменная читается более чем одним потоком и записывается как минимум одним потоком, но операции чтения и записи не...
316 просмотров

Происходит раньше для прямого ByteBuffer
У меня есть прямой ByteBuffer (вне кучи) в одном потоке, и я безопасно публикую его в другом потоке, используя один из механизмов, предоставленных мне JMM. Распространяется ли отношение «происходит до» на собственную (вне кучи) память, обернутую...
372 просмотров

Почему «приобретение/выпуск» не может гарантировать последовательную согласованность в С++ 11?
-Thread 1- y.store (20, memory_order_release); x.store (10, memory_order_release); -Thread 2- if (x.load(memory_order_acquire) == 10) { assert (y.load(memory_order_acquire) == 20); y.store (10, memory_order_release) } -Thread...
711 просмотров

Одноэлементная блокировка двойной проверки Java должна использовать ключевое слово volatile?
привет, у меня проблема с двойной проверкой блокировки в одноэлементном шаблоне。 в следующем коде: private volatile static DoubleCheckSingleton instance; private DoubleCheckSingleton() {} public static DoubleCheckSingleton getInstance(){...
67 просмотров
schedule 04.01.2023

Сопрограммы Kotlin бывают раньше гарантий?
Предоставляют ли сопрограммы Kotlin какие-либо гарантии «случится до»? Например, существует ли гарантия «происходит до» между записью в mutableVar и последующим чтением в (потенциально) другом потоке в этом случае: suspend fun doSomething()...
601 просмотров

Java происходит до отношений?
Рассмотрим следующий код. public class Test { private boolean running = false; public void run() { running = true; } public void test() { boolean running1 = running; boolean running2 = running;...
65 просмотров

Неустойчивое переупорядочивание Java
Во-первых, позвольте мне сказать, что я знаю, что это довольно распространенная тема здесь, но, ища ее, я не смог найти другой вопрос, который проясняет следующую ситуацию. Мне очень жаль, если это возможный дубликат, но вот: Я новичок в...
58 просмотров
schedule 12.10.2022

HashMap против ConcurrentHashMap: передача между потоками
У меня вопрос по использованию карт в многопоточном приложении. Предположим, у нас есть такой сценарий: Поток получает данные json как List<Map<String, Object>> , которые десериализуются Джексоном Джсоном. Этот поток изменяет...
209 просмотров

Будет ли JVM обновлять значение поля для всех потоков с использованием Happens-Before без прямого присвоения значения полю?
Я уже знаю, что если я пишу в энергонезависимое поле из другого потока, он, вероятно, сможет его кэшировать, поэтому все остальные потоки не увидят фактического значения. Но если я вызову, например, start() для объекта потока ПОСЛЕ присвоения...
46 просмотров
schedule 05.05.2024

ConcurrentHashMap только для чтения/обновления с помощью метода вычисления
По сути, это продолжение этого или это или многие другие в этом отношении. Мой вопрос, вероятно, прост: если я использую ConcurrentHashMap::compute только , как для чтения, так и для записи, достаточно ли этого для обеспечения видимости ?...
113 просмотров