pthread_create(&thread, NULL, AcceptLoop, (void *)this);
Run Code Online (Sandbox Code Playgroud)
我已经声明了这样,在AcceptLoop函数内部我有无限循环.我想在关闭服务器时关闭此线程.我读过pthread_cancel和pthread_join,但我不确定哪一个更好更安全.我想听一些详细的说明或教程.提前致谢.
我相信您想通过主线程发出信号来退出工作线程。
在内部,AcceptLoop您不是无限循环,而是在条件上循环,您可以通过主线程设置条件,您将必须为此变量使用一些同步。一旦从主线程设置了变量,工作线程AcceptLoop就会中断,然后您可以调用pthread_exit.
如果您希望主线程等待子线程退出,您可以pthread_join这样做。
一般来说,子线程可以在三种情况下退出:
pthread_exit。pthread_cancel。