当前位置: 技术问答>linux和unix
线程很有意识的问题
来源: 互联网 发布时间:2014-12-23
本文导语: 有一段程序如下: main() { int conn_fd; ... while(1) { conn_fd = accept(...); pthread_create(&thr_tid,NULL,thr_routine,&conn_fd); } ... } void * thr_routine(void *arg) { int connect_fd = *arg ... } 说明:据书籍解...
有一段程序如下:
main()
{
int conn_fd;
...
while(1)
{
conn_fd = accept(...);
pthread_create(&thr_tid,NULL,thr_routine,&conn_fd);
}
...
}
void * thr_routine(void *arg)
{
int connect_fd = *arg
...
}
说明:据书籍解释,使用这种方法传递参数不安全。因为conn_fd有可能在被某个线程接受
前被另外一个线程改变。我为了验证这个说法,自己编了一个小程序:
main()
{
int i =0;
int sum=0;
for (i=0;i
main()
{
int conn_fd;
...
while(1)
{
conn_fd = accept(...);
pthread_create(&thr_tid,NULL,thr_routine,&conn_fd);
}
...
}
void * thr_routine(void *arg)
{
int connect_fd = *arg
...
}
说明:据书籍解释,使用这种方法传递参数不安全。因为conn_fd有可能在被某个线程接受
前被另外一个线程改变。我为了验证这个说法,自己编了一个小程序:
main()
{
int i =0;
int sum=0;
for (i=0;i
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!