Testing if submit one pool task successfully.
195 {
196
198
199 auto func = [](int sec) -> bool
200 {
201 std::this_thread::sleep_for(std::chrono::seconds(sec));
202 return true;
203 };
204
205 std::future<bool> future = m_ThreadPool.SubmitPoolTask(std::bind(func, 2));
206
207 func(1);
208
209 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
210 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads - 1 );
212 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
213 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
215 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
216
217 m_ThreadPool.Wait();
218
219 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
220 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads );
222 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
223 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
225 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
226 }
#define SPICESTEST_PROFILE_FUNCTION()
constexpr uint32_t THREAD_MAX_IDLE_TIME