Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Operating system 线程执行的哪些操作将导致其他线程和整个进程终止?_Operating System_Pthreads - Fatal编程技术网

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
倾向于抛出异常中断, 在除零取消对空指针的引用等操作上。导致程序停止执行,并将控制权返回操作系统以处理事件。该计划可能会被终止, 根据操作系统释放的所有资源