查看文章 |
线程退出pthread_exit(NULL)和return的区别?
2009-06-11 19:53
return和pthread_exit(NULL)的区别:
“理论上说,pthread_exit()和线程宿体函数退出的功能是相同的,函数结束时会在内部自动调用pthread_exit()来清理线程相关的资源。但实际上二者由于编译器的处理有很大的不同。
在进程主函数(main())中调用pthread_exit(),只会使主函数所在的线程(可以说是进程的主线程)退出;而如果是return,编译器将使其调用进程退出的代码(如_exit()),从而导致进程及其所有线程结束运行。”
所以呢,在宿体函数内是没有区别的(理论上);但是在宿主函数内,return将结束进程
|
最近读者:

