28#if defined(LIBCOTASK_MACRO_ENABLED)
31 std::cout <<
"stack pool=> used stack number: " <<
global_stack_pool->get_limit().used_stack_number
34 <<
", free stack size: " <<
global_stack_pool->get_limit().free_stack_size << std::endl;
38 sample_task_t::ptr_t co_task = sample_task_t::create(
40 std::cout <<
"task " << cotask::this_task::get<sample_task_t>()->get_id() <<
" started" << std::endl;
41 cotask::this_task::get_task()->yield();
42 std::cout <<
"task " << cotask::this_task::get<sample_task_t>()->get_id() <<
" resumed" << std::endl;
48 std::cerr <<
"create coroutine task with stack pool failed" << std::endl;
52 std::cout <<
"stack pool=> used stack number: " <<
global_stack_pool->get_limit().used_stack_number
55 <<
", free stack size: " <<
global_stack_pool->get_limit().free_stack_size << std::endl;
60 std::cout <<
"stack pool=> used stack number: " <<
global_stack_pool->get_limit().used_stack_number
63 <<
", free stack size: " <<
global_stack_pool->get_limit().free_stack_size << std::endl;
67 sample_task_t::ptr_t co_another_task = sample_task_t::create(
69 std::cout <<
"task " << cotask::this_task::get<sample_task_t>()->get_id() <<
" started" << std::endl;
70 cotask::this_task::get_task()->yield();
71 std::cout <<
"task " << cotask::this_task::get<sample_task_t>()->get_id() <<
" resumed" << std::endl;
76 if (!co_another_task) {
77 std::cerr <<
"create coroutine task with stack pool failed" << std::endl;
84 std::cout <<
"stack pool=> used stack number: " <<
global_stack_pool->get_limit().used_stack_number
87 <<
", free stack size: " <<
global_stack_pool->get_limit().free_stack_size << std::endl;
89 std::cerr <<
"this sample require cotask enabled." << std::endl;