I tried to declare the thread pool in global scope like this: tp::ThreadPool g_threadPool; The process never reaches the main function.