pthread_create函数
程序清单 11-1 有这么一句创建线程:err = pthread_create(&nid, NULL, thr_nr, NULL);
APUE说主线程把新线程ID存放在ntid中,但是新建的线程并不能安全的使用它,如果新线程在主线程调用pthread_create返回之前就运行了,那么新线程看到的是未经初始化的ntid的内容,这个内容并不是正确的线程ID。
新线程到底是在pthread_create返回之前开始运行,还是返回之后开始运行呢,求指点! 必须是返回之后开始运行,因为你申请线程并不是所有时候都会成功。。。。根据系统配置略有不同 默认大概1000个左右 就不能继续申请了.... 那既然是返回后才运行,apue的上的那段是什么意思?
页:
[1]