首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux下结束线程有关问题

2013-04-02 
Linux下结束线程问题在Linux下,pthread_create()动态创建线程,比如20个,线程函数的名字都是thread,pthread

Linux下结束线程问题
在Linux下,pthread_create()动态创建线程,比如20个,线程函数的名字都是thread,pthread_create(&id,NULL,(void *)thread,NULL);我在这20个thread中都调用pthread_exit(NULL);来结束线程,这样子会出问题吗?能正常结束线程吗?
[解决办法]
++1
也可以 phread_join(&tid,null);
[解决办法]

引用:
引用:引用:引用:++1
也可以 phread_join(&tid,null);
我想在线程内自己关闭自己。

那就是这样用pthread_exit.
pthread_join是错误的,这个是等待别的线程结束..
……


pthread_exit本来就是用来结束***自身(线程)***的,当然不会影响别的线程了.
就像exit是用来**自身(进程)**一样.
[解决办法]
引用:
引用:引用:引用:引用:引用:++1
也可以 phread_join(&tid,null);
我想在线程内自己关闭自己。

那……

我可以肯定,电脑关机重启不会是由于你的程序使用了pthead_exit函数导致的..不然linux系统就若暴了.
要关机,至少得有root权限,并且得调用了一些重启的api才行.
所以你看你的程序运行时是否使用的root权限..有没有会导致重启的api , 如果不是,就该考虑别的问题了.
查看下系统日志吧,/var/log/syslog  var/log/auth.log  等..
[解决办法]
楼主还是dmesg看一下重启原因吧,感觉你太盲目了。

热点排行