猿问

C++ 中获取子线程id是什么函数?

我知道pid_t pid = getpid();是主线程id,pthread_t tid = pthread_self();是返回一个和每个线程绑定的数字,但貌似不是子线程id,我linux下ps -eLf得到的线程显然和其不一样。

繁花不似锦
浏览 2623回答 3
3回答

慕容森

pthread_create 的第一个参数就是线程id。pthread_self 的返回值和pthread_create的第一个返回参数的值是一样的你要的线程id就是通过这两个函数获取的。看一下linux下的帮助吧 man pthread_self 至于为什么ps -eLf 的线程id对不上,这个我不太清楚。但可以肯定的是,你用的接口应该是对的。

肥皂起泡泡

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){...}
随时随地看视频慕课网APP

相关分类

Java
我要回答