我知道pid_t pid = getpid();是主线程id,pthread_t tid = pthread_self();是返回一个和每个线程绑定的数字,但貌似不是子线程id,我linux下ps -eLf得到的线程显然和其不一样。
3 回答
慕容森
TA贡献1853条经验 获得超18个赞
pthread_create 的第一个参数就是线程id。
pthread_self 的返回值和pthread_create的第一个返回参数的值是一样的
你要的线程id就是通过这两个函数获取的。
看一下linux下的帮助吧 man pthread_self 至于为什么ps -eLf 的线程id对不上,这个我不太清楚。但可以肯定的是,你用的接口应该是对的。
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
attr_t _attr ;pthread_attr_init(&_attr) ; //设置一下线程属性
pthread_create(&thread_id, &_attr, stat_thread, (void*)p) ; //创建线程时子线程的id会回填到thread_id
//线程实例void* stat_thread(void* thread_param){...}
添加回答
举报
0/150
提交
取消