gpt4 book ai didi

c++ - 按执行顺序创建pthread

转载 作者:太空宇宙 更新时间:2023-11-04 13:07:58 24 4
gpt4 key购买 nike

我正在使用 C++ 和 pthread 进行多线程处理。我想按创建调用的顺序执行线程。

retrnThread=pthread_create(&thread_id,NULL,&HandleNotifications,(void*)Status); 

在我的应用程序中,上面的代码在非常短的时间内执行了 3 到 4 次,并且线程以随机顺序执行。我想按照创建的顺序执行线程。

retrnThread=pthread_create(&thread_id,NULL,&HandleNotifications1,(void*)Status); 
retrnThread=pthread_create(&thread_id,NULL,&HandleNotifications2,(void*)Status);
retrnThread=pthread_create(&thread_id,NULL,&HandleNotifications3,(void*)Status);
retrnThread=pthread_create(&thread_id,NULL,&HandleNotifications4,(void*)Status);

执行顺序应该是:处理通知1处理通知2处理通知3处理通知4

这里所有的线程都是相互独立的。我不需要加入或同步它们。

最佳答案

In my application above code executes 3 to 4 time in very quick time and thread executes in Random order.

这是正常的行为,一旦创建了一个线程,它就会留给操作系统,以便下次安排它的顺序。

I want to make thread execution in same order as created.

您可以使用在所有线程中使用的计数信号量,让它们等待特定的计数器值。

关于c++ - 按执行顺序创建pthread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41347708/

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