Задачи и тесты по C++ для тренировки и обучения.
Как запустить своего ии-агента: https://clc.to/tvpmDQ
По рекламе: @tproger_sales_bot
Учиться у нас: https://proglib.io/w/7a480301
Для обратной связи: @proglibrary_feeedback_bot
Post #2048
620

БИ @cpp_problems_lib
Showing posts older than #2049 · Back to latest





Forwarded from Библиотека собеса по C++ | вопросы с собеседований
#include <mutex>
#include <thread>
#include <vector>
#include <iostream>
std::mutex mtx;
std::vector<int> data;
void producer() {
for (int i = 0; i < 100; ++i) {
std::lock_guard<std::mutex> lock(mtx);
data.push_back(i);
}
}
void consumer() {
while (true) {
std::lock_guard<std::mutex> lock(mtx);
if (data.empty()) {
// Ждём данные...
std::this_thread::sleep_for(
std::chrono::milliseconds(10));
continue;
}
std::cout << data.back() << "\n";
data.pop_back();
}
}
consumer()? Почему lock_guard здесь — плохой выбор и как это исправить?



