Testing if submit very much thread task successfully.
351 {
352
354
355 auto func = []() -> void
356 {
357 std::this_thread::sleep_for(std::chrono::microseconds(1));
358 };
359
360 for (int i = 0; i < 2000; i++)
361 {
362 m_ThreadPool.SubmitThreadTask_LightWeight_ForEach(func);
363 }
364
365
366 m_ThreadPool.Wait();
367
368 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
369 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads );
371 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
372 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
373 EXPECT_EQ(m_ThreadPool.GetThreadIdleTimeOut(),10 );
374 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
375
376 for (auto& pair : m_ThreadPool.GetThreads())
377 {
378 EXPECT_EQ(pair.second->GetThreadTasksCount(), 0);
379 }
380 }
#define SPICESTEST_PROFILE_FUNCTION()