我正在使用C++和pthread进行多线程。我想按创建Call的顺序执行线程。按执行顺序创建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);
执行顺序应该是: HandleNotifications1 HandleNotifications2 HandleNotifications3 HandleNotifications4
这里所有的线程是相互独立的。我不需要加入或同步它们。
_“我不需要加入或同步它们。”_如果你想以特定的顺序执行线程,你必须。 –
如果不能同时运行,创建4个线程有什么意义?只需创建一个按顺序处理通知的线程(如果您需要线程)。 – Mat