我有多個線程正在運行(pthreads api),每個線程都有自己的計時器,它在特定時間間隔後調用函數處理程序(int signum)。當這些線程調用處理函數並在函數處理函數中時,我怎麼知道哪個線程調用了它?是否需要線程特定的數據?指示處理程序(定時器)何時調用哪個線程?
0
A
回答
1
您可以使用pthread_self()
函數來獲得當前線程的ID。
0
如果你想知道的是執行哪個線程,pthread_self()
來獲得你唯一的線程ID應該是你所需要的。這就是說,不知道你的計時器實現,如果你需要更多的ID,我只需要從它自己的上下文作爲參數傳遞給處理程序的對象中的pthread傳遞。這將允許您傳遞任何數據,而不訴諸於pthread_setspecific()/pthread_getspecific()
相關問題
- 1. 指示哪個線程設置了定時器處理程序?
- 2. 在哪個線程中調用iOS完成處理程序塊?
- 3. 在哪個線程中調用了終止處理程序?
- 4. Android處理程序,定時器和多線程
- 5. 第一次調用處理程序時分離處理程序
- 6. ThreadPoolExecutor - 指定哪個線程處理給定的任務
- 7. 服務,處理程序,定時器,可運行 - 要使用哪個和如何?
- 8. 同時使用線程/多處理器
- 9. 處理程序更新UI定時器
- 10. android定時器處理程序java
- 11. Android處理程序/定時器請求
- 12. 處理程序而不是定時器?
- 13. 使用AutoEventWireup時,事件處理程序在哪裏連線?
- 14. 如何使用request_threaded_irq,以便在線程化處理程序工作時調用中斷處理程序?
- 15. C++定時器,線程,定期調用
- 16. 從Cortex M3處理器的用戶程序進入中斷處理程序時使用哪個堆棧?
- 17. 哪個線程是調用的信號處理程序(例如signal(SIGINT,crtl_c);)?
- 18. asp.net通用處理程序調用另一個處理程序
- 19. WinForms線程調用處理
- 20. 多線程時需要多少個處理程序
- 21. 從定時器線程調用java定時器任務
- 22. 每個線程的處理時間?
- 23. 同時處理超過64個線程
- 24. 如何處理運行線程的定時器
- 25. 定時器線程?
- 26. 哪個線程做backgroundworker完成事件處理程序運行?
- 27. 多個定時器WPF應用程序,調用線程必須是STA錯誤
- 28. AsyncQuery處理程序線程何時結束?
- 29. 定時一個Fortran多線程程序
- 30. 在應用程序退出時處理RX線程