![]() |
|
Другие темы раздела | |
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 если соединение отвалилось понять не могу :( Если можно как-то проще вставить этот кусочек кода в то что у меня... |
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 37
|
|
0 | |
CPP memory_ordering:: compare_exchange_weak/strong - C++ - Ответ 1257773803.08.2018, 09:45. Показов 837. Ответов 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 железный, что произойдёт? Вернуться к обсуждению: CPP memory_ordering:: compare_exchange_weak/strong C++
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
Библиотеки в CPP. Ошибка компиляции | CPP Подключение файлов main.cpp some.cpp some.h |
03.08.2018, 09:45 | |
Помогаю со студенческими работами здесь
0
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
Использовать void из 1.cpp в 2.cpp |