【发布时间】:2020-06-04 04:14:32
【问题描述】:
所以当我练习线程时,我意识到我们可以将值传递给线程。现在我想知道,我可以在创建时将线程传递给另一个。类似的东西;
int main(){
pthread_t t1;
pthread_t t2;
pthread_create(&t1, NULL, counting, t2);
pthread_create(&t2, NULL, waiting, &results);
//...
}
我的函数看起来像这样;
void* counting(void * arg) {
pthread_t *t = arg;
pthread_cancel(arg);
}
我这样做是因为我想从 counting 线程完成后终止 waiting 线程。
【问题讨论】:
-
是的,您可以将
pthread_t*传递给线程。请注意,您需要同步对共享数据的访问,即使它是pthread_t。
标签: c multithreading posix