我想在運行一定的時間後關閉openMP中的一個線程。我怎樣才能做到這一點?強制在C++中使用openMP關閉線程?
3
A
回答
5
0
我不知道是否可以爲特定線程執行此操作,但您可以使用trick實現類似的操作。你基本上做了什麼,你可以設置一個標誌,並在時間到時將其刷新到正在運行的線程中。檢查鏈接瞭解更多細節。
0
線程的殺死是可能的[外部並行],不使用openmp API,但通過pthread_cancel()
。
注意:內parallel
節殺OpenMP的線程,不建議作爲for
循環結束OpenMP的障礙將被期待的所有線程擊中障礙。如果一個線程不報告/命中,那麼它將是無限的掛起。此外,用戶可能不得不在清除查殺時處理線程/內存清理。
pthread_t pt;
#pragma omp parallel for num_threads(3) firstprivate(i)
for(n=0; n<10; ++n)
{
tid = gettid();
pt = pthread_self();
printf("i=%d - %d - thread : %d :: TID=%d\n",i++, n, omp_get_thread_num(), gettid());
}
printf("TID : %d - PT=%d\n", tid, pt);
pthread_cancel(pt);
的[是否有可能殺了紡紗線?]
相關問題
- 1. 線程OutOfMemoryError,強制關閉
- 2. 在Android中強制關閉線程
- 3. 多線程在C++中使用openmp
- 4. Android強制關閉線程異常
- 5. 使用C++在Windows CE上強制關閉應用程序
- 6. SharedPreferences使應用程序強制關閉
- 7. 在Android應用程序創建線程結果強制關閉
- 8. 強制關閉使用getContentResolver()
- 9. 確保所有線程都關閉或強行關閉線程?
- 10. 強制在Android中關閉
- 11. 在使用線程時在android中獲取強制關閉錯誤
- 12. 強制關閉'流氓'線程如果中止()不起作用
- 13. 程序強制關閉
- 14. 強制關閉進程
- 15. 在C中關閉線程與C#
- 16. 強制關閉 -
- 17. C中的強制對話框關閉#
- 18. 線程在OpenMP的C++
- 19. 關閉OpenMP
- 20. 應用程序強制關閉
- 21. Android addmob應用程序強制關閉
- 22. Android SharedPreferences強制關閉應用程序
- 23. 強制應用程序類關閉
- 24. 強制關閉應用程序
- 25. 強制關閉應用程序
- 26. 強制應用程序關閉(.net)
- 27. 強制關閉應用程序
- 28. 強制關閉應用程序
- 29. 如何強制關閉應用程序
- 30. Android應用程序強制關閉
可能重複(http://stackoverflow.com/questions/7978668/is-it-possible-to-kill-a-spinning-thread) –
@JoachimPileborg它不是重複的。他問的是openmp,而不是明確的線程。 – Tudor
@Tudor OpenMP線程和普通線程有什麼區別?一個線程是一個線程是一個線程,它是如何啓動應該不重要。 –