use Coro; while (1) { async { &start_process(); } cede; //I found that without "cede;", start_process() will not run } sub start_process { ... }