TGViewer
Грокаем C++ Грокаем C++ @grokaemcpp · 9.36K subscribers
Post #1138 3.69K
​​Ревью
#опытным

Как-то мы обходили стороной некоторые обновления в стандартной 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.
  • ❤ 15
  • 👍 6
  • 🔥 4
  • 😁 2
  • ❤‍🔥 1
More from @grokaemcpp
  1. Oct 8, 2026​​Strict weak ordering #опытным На первый взгляд, всё выглядит рабочим: мы создаём 40 зака…
  2. Oct 7, 2026​​Где-то баг... #опытным Вот вам код: struct Order { int price; int id; }; int main() { st…
  3. Oct 5, 2026Откуда spurious wakeup на кондваре? #опытным У кондваров есть метод std::condition_variabl…
  4. Oct 1, 2026​​Stacktrace. Tips #опытным Чтобы полноценно работать со стандартными трейсами, нужно знат…
  5. Sep 28, 2026​​Stacktrace #опытным Одна из проблема исключений - непонятно, откуда оно прилетело. Ну да…
  6. Sep 25, 2026​​std::spanstream #опытным Радостная весть для всех, кто пользуется iostreams! В C++23 доб…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →