|
|
1
5
首先,不要杀死或取消线程,让它们自杀。如果你从外部杀死一个线程,你永远不知道会留下什么副作用——变量、同步原语的状态等等。如果您发现一个线程必须终止另一个线程,那么让有问题的线程检查一个开关,捕获一个信号,然后在退出自身之前清除其状态。 1) 如果不可取消,则表示已分离,与连接的线程相同。你不知道如果你盲目地杀掉它,你会留下什么烂摊子。 2) 从应用程序级的观点来看,主要的事情是,如果主线程退出()或返回(),它将带走所有其他线程。如果主线程使用pthread_exit()终止自身,则其余线程继续。
注意:线程不共享它们各自拥有的堆栈。见 clone() 关于线程创建的一些信息。 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
SpeakX · 多线程上下文中的弱指针未过期时更新 2 年前 |
|
USMC6072 · 在父事件处理程序中调用异步方法会引发错误 2 年前 |
|
|
Eric · fgets_unlocked()用于多线程读取不同文件 4 年前 |