Operating system 线程执行的哪些操作将导致其他线程和整个进程终止?
我在程序中遇到错误,导致整个进程终止,而我在程序中调试并遵循任务管理器时,我可以看到我的进程在运行某个线程时终止 我通过这个线程,显然我使用了导致问题的Operating system 线程执行的哪些操作将导致其他线程和整个进程终止?,operating-system,pthreads,Operating System,Pthreads,我在程序中遇到错误,导致整个进程终止,而我在程序中调试并遵循任务管理器时,我可以看到我的进程在运行某个线程时终止 我通过这个线程,显然我使用了导致问题的exit()。我改为pthread\u exit(),但我又遇到了同样的问题,结果是特定线程也有一个非法操作:除以零 pthread_退出 pthread_取消 出口 违法行为 主线程返回 这些将导致流程何时终止 | | thread | process
exit()
。我改为pthread\u exit()
,但我又遇到了同样的问题,结果是特定线程也有一个非法操作:除以零
- pthread_退出
- pthread_取消
- 出口
- 违法行为
- 主线程返回
这些将导致流程何时终止
| | thread | process |
-----------------------------------------------------------------
| pthread_exit | finish | finish iff last running thread |
| pthread_cancel | finish | finish iff last running thread |
| exit() | finish | finish |
| Illegal operation | finish | finish |
| thread finishes | finish | finish iff last running thread |
| main thread finishes| finish | finish |
return
是一个包含exit
sys\u call
的包装函数,这就是为什么整个线程也被终止的原因
CPU
倾向于抛出异常中断,
在除零或取消对空指针的引用等操作上。导致程序停止执行,并将控制权返回操作系统以处理事件。该计划可能会被终止,
根据操作系统释放的所有资源