127 for (
size_t i = 0; i < 10000; ++i) {
135 assert(new_job !=
nullptr);
146 assert(new_job !=
nullptr);
155 std::vector<int> v(i / 2 > 10 ? i / 2 : 10);
156 std::iota(v.begin(), v.end(), 0);
158 assert(new_job !=
nullptr);
171 std::this_thread::sleep_for(std::chrono::milliseconds(200));
184 for (
const auto& big_thing : big_things) {
185 if (big_thing.At(1024) == 255) {
187 std::println(
"Found 255 @ 1024!");
235 const auto core_count = std::thread::hardware_concurrency();
236 std::vector<std::thread> workers(core_count / 2);
237 for (
size_t i = 0; i < core_count / 2; ++i) {
238 workers[i] = std::thread(
Worker);
241 for (
size_t i = 0; i < core_count / 2; ++i) {
std::condition_variable cv
std::atomic< bool > exit_producer
std::queue< broom::sharing_ptr< Job > > job_queue
void ProcessJob(Job *job)