回答
像特拉維斯說的,SIGCANCEL
已經deprecated並不存在於POSIX標準。
在文件glibc-2.9/nptl/pthread_cancel.c中,我可以找到SIGCANCEL。因此我想知道功能。那麼當你調用pthread_cancel()時會發生什麼? – notytony 2011-04-25 22:10:32
@notytony是的,它似乎仍然存在於glibc 2.9中,但如果你看看內核手冊頁,[它不在](http://www.kernel.org/doc/man-pages/online/pages/ man7/signal.7.html)。我沒有pthread的經驗,但它似乎不是你的標準信號。我讀取的一小部分文檔表明它用於向與調用者處於同一進程的線程發送信號。您可能想將pthread_cancel與[pthread_kill]進行比較(http://glibc.sourcearchive.com/documentation/2.9-9ubuntu2/pthread__kill_8c-source.html)。 – voithos 2011-04-26 04:22:54
的SIGCANCEL
目前在glibc
並行線程執行被定義爲__SIGRTMIN
使用(內部)。
如果pthread_cancel()
被調用的取消類型設置爲異步的線程,它會通過通過tgkill()
發送。
相反,這可能意味着接收到__SIGRTMIN
的線程的行爲就好像它被異步取消一樣。 (我沒有測試過)
- 1. 併發線程同時添加到ArrayList - 會發生什麼?
- 2. 當程序運行時發生事件時會發生什麼
- 3. 當我將MPI_Send發送到已完成的進程時會發生什麼?
- 4. 當主線程終止時,SynchronizationContext會發生什麼?
- 5. 當某個線程調用Thread.interrupt()時,會發生什麼?
- 6. 當獲取它的線程退出時,Mutex會發生什麼?
- 7. 當線程T1加入線程T2和T2時會發生什麼事情會發生中斷
- 8. 線程結束後會發生什麼?
- 9. ConcurrentHashMap.clear()讀線程會發生什麼?
- 10. 當發生javascript運行時錯誤時會發生什麼?
- 11. 如果當前線程崩潰,那麼readwritelock會發生什麼
- 12. 當協程引發異常時會發生什麼?
- 13. 當一個線程完成其互斥量時,線程會發生什麼?
- 14. 當主線程調用sys.exit()時,其他線程會發生什麼?
- 15. 當一個線程被阻塞時,其他線程會發生什麼?
- 16. 當第一個線程鎖定類時第二個線程會發生什麼
- 17. 當localStorage已滿時會發生什麼?
- 18. 當redis重載時會發生什麼?
- 19. 當我ping 127.0.0.1時會發生什麼
- 20. 當FlatFileFooterCallback出錯時會發生什麼?
- 21. 當AsyncTasks已滿時會發生什麼?
- 22. 當crontabs重疊時會發生什麼?
- 23. 當EditText有空時會發生什麼?
- 24. 當VRAM已滿時會發生什麼?
- 25. 當我編譯時會發生什麼?
- 26. 當我發送autorelease或保留消息到autorelease池時會發生什麼?
- 27. 發生故障時會發生什麼?
- 28. 當宏擴展到什麼程度時臨時變量會發生什麼?
- 29. 當JMS偵聽器發生異常時會發生什麼
- 30. 當primary_key默認發生衝突時,Django會發生什麼?
我不認爲'SIGCANCEL'在Linux中完全支持。我知道它被POSIX所棄用。 – 2011-04-25 21:10:32