#опытным
Как-то мы обходили стороной некоторые обновления в стандартной concurrency библиотеке С++.
Можно было бы начать прям сразу, но зайдем с небольшого интерактива в рамках рубрики #ревью.
Все просто: мы даем небольшой кусочек кода, а вы накидываетесь и оставляете комменты о том, что в этом коде на ваш взгляд не так. Все как в стандартном процессе кодревью.
Единственное, надо учитывать формат "небольшого кусочка кода", который тяжело сделать практически полезным.
Вот и сам код:
#include <atomic>
#include <mutex>
#include <queue>
#include <thread>
struct Worker {
Worker()
: t([](std::stop_source st) {
while (!st.stop_requested()) {
std::lock_guard<std::mutex> lock(m);
q.push(1);
}
}) {}
std::thread t;
std::mutex m;
std::queue<int> q;
};
int main() {
Worker w;
}
Комментатора с самым большим количеством корректно отмеченных проблем упомянем в завтрашнем посте с разбором.
Раз, два, три, код в порядок приведи!
Critique your decisions. Stay cool.