gpt4 book ai didi

c++ - pthread_create() 和 pthread_join() 函数不能在同一循环中工作

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

我编写了一些代码来创建多个线程并在特定内核上运行这些线程。但是如果我同时放置 pthread_create() ,运行代码就会出现问题和pthread_join()在同一循环中运行。

for(TN=0;TN<NUM_THREADS;TN++)
{

pthread_create(&thread[TN],NULL,(void*) &hardAffinity,(void*)&CPU[TN]);

pthread_join(thread[TN],NULL);
}

问题是,如果我想在单独的 cpu 核心上运行上面的代码,它就不起作用。我认为这是因为 create 和 join 方法位于同一个循环中。仅当我将每个方法放在单独的循环中时它才有效

最佳答案

解决此问题的一种方法是在单独的循环中调用 pthread_create() 和 pthread_join() 函数

for(TN=0;TN<NUM_THREADS;TN++)

{

pthread_create(&thread[TN],NULL,(void*) &hardAffinity,(void*)&CPU[TN]);

}

for(TN=0;TN<NUM_THREADS;TN++)

{

pthread_join(thread[TN],NULL);

}

关于c++ - pthread_create() 和 pthread_join() 函数不能在同一循环中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55406134/

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