DWORD threadID = 0; CreateThread(0, 0, accept_request, (void*)socketConnection, 0, &threadID);中,accept_request函数在执行到某个地方是会跳出线程执行线程前面语句代码,然后继续执行是什么情况
时间: 2024-01-24 13:20:03 浏览: 59
主线程等待子多线程(无结果返回)执行完成再继续执行
在调用CreateThread()函数时,我们将accept_request函数作为线程函数传递给了CreateThread(),并将socketConnection作为线程函数参数传递。当CreateThread()函数被调用时,它会创建一个新的线程来执行accept_request函数,并返回新线程的句柄。同时,CreateThread()函数会立即返回,而不会等待新线程执行完毕。
因此,在CreateThread()函数执行完成后,新线程就开始运行accept_request函数。如果accept_request函数在执行到某个地方跳出线程,那么这个新线程就会停止执行accept_request函数,同时CPU会切换到其他线程或进程执行。当accept_request函数再次被唤醒时,这个新线程会继续执行accept_request函数,直到函数执行完成并退出线程。在这个过程中,主线程(即调用CreateThread()函数的线程)会继续执行后面的语句代码,不会被阻塞。
阅读全文