std :: atomic | compare_exchange_weak vs. compare_exchange_strong

Необходимо действительно посмотреть Разработчик Процесса . Это действительно создается для такого рода вещи.

ProcessBuilder pb = new ProcessBuilder("myshellScript.sh", "myArg1", "myArg2");
 Map env = pb.environment();
 env.put("VAR1", "myValue");
 env.remove("OTHERVAR");
 env.put("VAR2", env.get("VAR1") + "suffix");
 pb.directory(new File("myDir"));
 Process p = pb.start();

28
задан Richard Chambers 14 September 2018 в 19:29
поделиться

1 ответ

Это связано с моделью согласованности совместно используемой памяти, которую реализует аппаратное обеспечение. Для тех аппаратных архитектур, которые реализуют какую-то модель смягченной согласованности (например, семантику релиза), сильные операции, на которые вы ссылаетесь выше, могут иметь большие накладные расходы, и, таким образом, эксперты могут использовать более слабые формы для реализации алгоритмов, которые хорошо работают и на этой расслабленной согласованности архитектур.

Для получения дополнительной информации см., Например,

http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-7.pdf

Глава 12 и Приложение C в http : //kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html

11
ответ дан 28 November 2019 в 03:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: