Testing if submit very much thread task successfully.
448 {
449
451
452 auto func = []() -> void
453 {
454 std::this_thread::sleep_for(std::chrono::microseconds(1));
455 };
456
457 for (int i = 0; i < 2000; i++)
458 {
459 m_ThreadPool.SubmitThreadTask_LightWeight_ForEach(func);
460 }
461
462
463 m_ThreadPool.Wait();
464
465 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
466 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads );
468 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
469 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
471 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
472
473 for (auto& pair : m_ThreadPool.GetThreads())
474 {
475 EXPECT_EQ(pair.second->GetThreadTasksCount(),0);
476 }
477 }
#define SPICESTEST_PROFILE_FUNCTION()
constexpr uint32_t THREAD_MAX_IDLE_TIME