MCPcopy Create free account
hub / github.com/boostorg/asio / thread_pool_executor_execute_test

Function thread_pool_executor_execute_test

test/thread_pool.cpp:261–321  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

259}
260
261void thread_pool_executor_execute_test()
262{
263 int count = 0;
264 thread_pool pool(1);
265
266 pool.executor().execute(bindns::bind(increment, &count));
267
268 boost::asio::require(pool.executor(),
269 boost::asio::execution::blocking.possibly
270 ).execute(bindns::bind(increment, &count));
271
272 boost::asio::require(pool.executor(),
273 boost::asio::execution::blocking.always
274 ).execute(bindns::bind(increment, &count));
275
276 boost::asio::require(pool.executor(),
277 boost::asio::execution::blocking.never
278 ).execute(bindns::bind(increment, &count));
279
280 boost::asio::require(pool.executor(),
281 boost::asio::execution::blocking.never,
282 boost::asio::execution::outstanding_work.tracked
283 ).execute(bindns::bind(increment, &count));
284
285 boost::asio::require(pool.executor(),
286 boost::asio::execution::blocking.never,
287 boost::asio::execution::outstanding_work.untracked
288 ).execute(bindns::bind(increment, &count));
289
290 boost::asio::require(pool.executor(),
291 boost::asio::execution::blocking.never,
292 boost::asio::execution::outstanding_work.untracked,
293 boost::asio::execution::relationship.fork
294 ).execute(bindns::bind(increment, &count));
295
296 boost::asio::require(pool.executor(),
297 boost::asio::execution::blocking.never,
298 boost::asio::execution::outstanding_work.untracked,
299 boost::asio::execution::relationship.continuation
300 ).execute(bindns::bind(increment, &count));
301
302 boost::asio::prefer(
303 boost::asio::require(pool.executor(),
304 boost::asio::execution::blocking.never,
305 boost::asio::execution::outstanding_work.untracked,
306 boost::asio::execution::relationship.continuation),
307 boost::asio::execution::allocator(std::allocator<void>())
308 ).execute(bindns::bind(increment, &count));
309
310 boost::asio::prefer(
311 boost::asio::require(pool.executor(),
312 boost::asio::execution::blocking.never,
313 boost::asio::execution::outstanding_work.untracked,
314 boost::asio::execution::relationship.continuation),
315 boost::asio::execution::allocator
316 ).execute(bindns::bind(increment, &count));
317
318 pool.wait();

Callers

nothing calls this directly

Calls 7

bindFunction · 0.50
requireFunction · 0.50
preferFunction · 0.50
allocatorClass · 0.50
executeMethod · 0.45
executorMethod · 0.45
waitMethod · 0.45

Tested by

no test coverage detected