Предотвратить вращение в режиме ожидания в потоке регистратора ⇐ C++
-
Anonymous
Предотвратить вращение в режиме ожидания в потоке регистратора
Моя программа использует очень длинный список файлов (предоставленных пользователем) в четырех рабочих потоках. Каждый рабочий процесс регистрируется в простом векторе (logPool). Поскольку рабочие очень заняты, я решил заставить регистратор постоянно вращаться. Вот последовательная версия:
struct logRec{ тип перечисления класса: без знака {информация = 0, ошибка, конец} тип; /* конец: маркер завершения пула, no-mo-msg */ строковое сообщение; }; auto static const INFO = logRec::type::info, ERROR = logRec::type::error, END = logRec::type::end; typedef вектор logPool; вектор logPools; //Распечатываем пулы журналов по порядку недействительный регистратор(){ constexpr auto prLog = [](const size_t iPool, const size_t k) -> bool /*конец достигнут ?*/ { переключатель(const auto& lrec = logPools[iPool][k]; lrec.typ){ case INFO: cout
Моя программа использует очень длинный список файлов (предоставленных пользователем) в четырех рабочих потоках. Каждый рабочий процесс регистрируется в простом векторе (logPool). Поскольку рабочие очень заняты, я решил заставить регистратор постоянно вращаться. Вот последовательная версия:
struct logRec{ тип перечисления класса: без знака {информация = 0, ошибка, конец} тип; /* конец: маркер завершения пула, no-mo-msg */ строковое сообщение; }; auto static const INFO = logRec::type::info, ERROR = logRec::type::error, END = logRec::type::end; typedef вектор logPool; вектор logPools; //Распечатываем пулы журналов по порядку недействительный регистратор(){ constexpr auto prLog = [](const size_t iPool, const size_t k) -> bool /*конец достигнут ?*/ { переключатель(const auto& lrec = logPools[iPool][k]; lrec.typ){ case INFO: cout
Мобильная версия