gpt4 book ai didi

c++ - 将单个整数传递给 C++ 中的多线程函数

转载 作者:行者123 更新时间:2023-11-30 03:38:26 34 4
gpt4 key购买 nike

我想调用一个具有多个线程的函数,我只需要将一个整数传递给该函数(线程 ID,因此如果它是可访问的,我不需要传递任何值)。

我应该怎么做?

例如:

for(int i=0; i < numberOfThread; i++ ){
pthread_create(&threads[i], NULL, multichaper, &td[i]);
}

其中 multichaper 是我的函数,threadID 是一个整数。

更新:我将 user3286661 的答案标记为正确答案,这对我有用,如果你想要更详细的答案,你可以在答案中查看我自己对这个问题的解决方案。

最佳答案

一般的做法是使函数像这样:

void* multichaper(void* arg)  {
int tid = *(int*)arg;
...
}

在调用 pthread_create 时:

pthread_create(&threads[i], NULL, multichaper, &td[i])

其中 td[i] 是一个 int

关于c++ - 将单个整数传递给 C++ 中的多线程函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39610372/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com