0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 37
|
|
1 | |
CPP memory_ordering:: compare_exchange_weak/strong03.08.2018, 09:45. Показов 928. Ответов 1
Метки нет (Все метки)
Итак compare_exchange_weak/strong(expected, new_value, success_mem_ordering, failure_mem_ordering)
В случае необъявления memory_ordering всё понятно - default. Если объявить seccess memory_ordering - failure выбирается автоматически, всё норм. Непонятны, конкретно, возможности полного выбора. Ссылаясь на Энтони Вильямса "Мультитрид в действии": "You can’t supply stricter memory ordering for failure than for success". И что это значит? Нет, прекрастно, конечно, но могу ли я послать seccess=acquire, failure=relaxed? Запрета на это нет, однако смысла это тоже не имеет. Собственно, вопрос в следующем: можно ли использовать такую пару (acquire, relaxed), и что это будет означать? Будет ли undefined behavior или acquire железный, что произойдёт?
0
|
03.08.2018, 09:45 | |
Ответы с готовыми решениями:
1
obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|2 36|undefined reference to `GetOpenFileNam С помощью командной строки >namberstr f1.cpp Определить число строк в файле с именем f1.cpp Библиотеки в CPP. Ошибка компиляции | CPP Подключение файлов main.cpp some.cpp some.h |
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
|
04.08.2018, 19:51 | 2 |
Почему не имеет? См. 7.2.5 Applying the memory model to the lock-free stack
Можно. Это будет означать, что в случае успеха compare_exchange будет acquire-операцией, а в случае неуспеха — relaxed.
1
|
04.08.2018, 19:51 | |
04.08.2018, 19:51 | |
Помогаю со студенческими работами здесь
2
C:\tsserver\Projects\cpp\codeblocks\MyComp\compiler\mmz\mmz. cpp|29|error: no match for 'operator=' in '* Item = * Source'| Вот: source_file.cpp: In function 'int main()': source_file.cpp:10:12: error: 'strlen' was not declared in this scope Разделение программы на .h .cpp .cpp Использовать void из 1.cpp в 2.cpp Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |