Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ memory ordering: fetch_sub(acquire) и spinlock на основе atomic_flag (Энтони Вильямс "Мультитрид в действии") https://www.cyberforum.ru/ cpp/ thread2281073.html
Читаю Вильямса по мультитриду. 1) В книге приведён пример класса spinlock на основе atomic_flag: class spinlock_mutex{ std::atomic_flag flag; public: spinlock_mutex():flag(ATOMIC_FLAG_INIT){} void lock(){while(flag.test_and_set(std::memory_order_acquire));} void unlock(){flag.clear(std::memory_order_release);} };
C++ Как создать очередь потоков с несколькими workers?
-организовать threadpool с очередью и несколькими worker, которые будут выполнять функцию детекции лиц с параметром - именем файла изображения - количество workers должно быть регулируемым, нагружать их равномерно Гуглил и читал статьи и примеры, ничего дельного не нашел. Можете привести самый простой пример создания очереди потоков с несколькими workers. Как регулировать их число и...
C++ Borland C++ 4.5-4.53 есть у кого-то ? https://www.cyberforum.ru/ cpp/ thread2280569.html
САБЖ. Старые версии под DOS & Win_3.11 Если у кого есть, киньте ссылку на мыло(jon@ya.ru) или в скайп: legat79
C++ Энтони Вильямс. Цпп мультитрид в действии::Листинг 3.4::Почему конструктор копирования deleted?! https://www.cyberforum.ru/ cpp/ thread2279411.html
Описывается класс в котором хранится std::stack и std::mutex. Реализация призвана избавиться от проблем с top-pop параллелизмом std::stack-а. Listing 3.4 An outline class definition for a thread-safe stack #include <exception> #include <memory> struct empty_stack: std::exception { const char* what() const throw(); };
C++ Что надо в default для возврата ввода cin >> result?
#include <iostream> using namespace std; int main() { setlocale(0,"Russian"); int a, b, resul; cout << "Введите а i b" << endl;
C++ Как правильно расставить mutex https://www.cyberforum.ru/ cpp/ thread2278251.html
Есть две функции: одна подгружает изображения и заносит их в вектор, вторая - берет изображения из вектора и обрабатывает их с помощью войд функции FindImage. Я разделил приложение на два потока, как правильно расставить mutex, чтобы приложение было потокобезопасным и операции выполнялись параллельно? void readImages(vector <Mat> &vectorOfImages, vector <string> &nameOfImages, vector...
C++ Ошибка при работе с потоками Есть две функции: одна закидывает изображения в вектор, а вторая забирает их оттуда и обрабатывает. Разделил приложение на два потока, хочу чтобы функции работали параллельно, изображения не обрабатывались, когда вектор пустой,и функция void processingImages(vector <Mat> &vectorOfImages, Mutex& mutex) ожидала наполнение вектора. Вроде, все работает, проверил дебагом, функция... https://www.cyberforum.ru/ cpp/ thread2278032.html C++ Можете скиуть код программы
Я увидеть исходный код программы, пользовался многими прогами, но они его не показывали. Кто можете скинуть код?
C++ Использование алгоритмов в multimap Народ, можно ли вообще каким-то образом использовать алгоритмы remove(),remove_if(), fill() с multimap? С вектором я умею их применять, но как их применять с multimap, если он хранит пары(ключ,значение) и ключ является константным. Можно ли как-то не изменяя ключ изменять только значение. https://www.cyberforum.ru/ cpp/ thread2277634.html C++ Map с указателями на функцию https://www.cyberforum.ru/ cpp/ thread2276949.html
Нужно сделать: Map<string, указатель на функцию>. Но проблема в том что работает у меня только с функциями типа void и без аргуемнтнов. Так работает: Вызываемая функция void func() { printw("%s", "FUNC 1"); }
Как удалить скрытую папку вместе с содержимым C++
Добрый день. Необходимо удалить скрытую папку вместе с содержимым в ней, либо удалить содержимое папки. Путь папки известен: D:/ymir work в ней необходимо удалить файлы *.gr2, *.mse Имеется код: bool PackInitialize(const char * c_pszFolder) { NANOBEGIN string block_folder; block_folder == "D:\\ymir work";
C++ Boost asio ssl connect не получается сделать timeout 10sec https://www.cyberforum.ru/ cpp/ thread2275079.html
Не очень-то я сильна в библиотеке boost 1.67.0, от чего прошу помощи экспертов. Спустя какое-то время, запрос ждет ответа от сервера бесконечно, из-за отсутствия связи и приходится перезапускать программу. Boost взяла по причине упростить написание кода. Но вот как выставить timeout если соединение отвалилось понять не могу :( Если можно как-то проще вставить этот кусочек кода в то что у меня...
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
04.08.2018, 19:51 0

CPP memory_ordering:: compare_exchange_weak/strong - C++ - Ответ 12580238

04.08.2018, 19:51. Показов 837. Ответов 1
Метки (Все метки)

Ответ

Цитата Сообщение от banbezv1999 Посмотреть сообщение
Запрета на это нет, однако смысла это тоже не имеет.
Почему не имеет? См. 7.2.5 Applying the memory model to the lock-free stack

Цитата Сообщение от banbezv1999 Посмотреть сообщение
можно ли использовать такую пару (acquire, relaxed), и что это будет означать?
Можно. Это будет означать, что в случае успеха compare_exchange будет acquire-операцией, а в случае неуспеха — relaxed.

Вернуться к обсуждению:
CPP memory_ordering:: compare_exchange_weak/strong C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2018, 19:51
Готовые ответы и решения:

obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|2 36|undefined reference to `GetOpenFileNam
obj\Debug\IDE.o||In function `Z11OpenProjectv':|...

С помощью командной строки >namberstr f1.cpp Определить число строк в файле с именем f1.cpp
С помощью командной строки &gt;namberstr f1.cpp Определить число строк в файле с именем f1.cpp

Библиотеки в CPP. Ошибка компиляции | CPP
Доброго вечера! Появился один вопросик недавно. Начал юзать библиотеку &lt;windows.h&gt; для...

Подключение файлов main.cpp some.cpp some.h
Всем привет, программа разделенна на три файла poly.cpp main.cpp poly.h Кто мог бы объяснить как...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2018, 19:51
Помогаю со студенческими работами здесь

C:\tsserver\Projects\cpp\codeblocks\MyComp\compiler\mmz\mmz. cpp|29|error: no match for 'operator=' in '* Item = * Source'|
char **Source; TArray&lt;std::string&gt; *Item; ... *Item=*Source;

Вот: source_file.cpp: In function 'int main()': source_file.cpp:10:12: error: 'strlen' was not declared in this scope
#include&lt;iostream&gt; using namespace std; int main() { char a,b; int i,j; cout&lt;&lt;&quot;Напишите...

Разделение программы на .h .cpp .cpp
Никак не пойму как правильно разделять программу на несколько файлов. Вот код : ( в чем...

Использовать void из 1.cpp в 2.cpp
Допустим, есть функция void Hello(). Она в файле 1.cpp. Мне нужно её использовать в файле 2.cpp, но...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru