正在撰寫執行線程庫內核代碼的一部分的代碼? pthread_create()等函數是否實現了內核的一部分?如何實現線程庫?
Q
如何實現線程庫?
4
A
回答
3
線程有時在用戶空間實現純(當時也被稱爲「綠線」),但通常在內核空間。 wikipedia article很好地解釋它。
5
在Linux中,pthread_create()
等。作爲glibc項目的一部分實施。它使用(非可移植的,Linux特有的)系統調用clone()
。 (linux的fork()
是在clone()
方面也實現)。某些BSD也有類似的系統調用rfork()
。
我的理解是,clone()
或rfork()
都將創建一個新的進程,但你可以指定一個標誌,上面寫着:「使用寫入時複製語義給這個不同的地址空間」。所以,如果你想fork()
,您可以指定標誌,但如果你想創建一個線程,你不這樣做,你結束了一個共享地址空間。
(編輯,以提供更多的細節)
相關問題
- 1. 如何從實現線程庫開始?
- 2. 如何使用多線程程序實現書庫?
- 3. 線程實現
- 4. 實現線程
- 5. Python線程/線程實現
- 6. C++調整庫以實現多線程
- 7. 作爲庫的實現線程
- 8. 如何在ewam中實現多線程?
- 9. C#如何實現這是由線程
- 10. Golang如何爲goroutines實現OS線程?
- 11. C# - 如何實現與線程
- 12. 如何在java中實現線程
- 13. 如何在wpf中實現多線程
- 14. 如何實現一個線程視圖?
- 15. 如何實現多線程的JFrame的
- 16. 如何實現線程安全隊列
- 17. 如何用kthread實現線程互斥?
- 18. powershell如何實現工作線程
- 19. 如何在PlayFramework上實現多線程?
- 20. Delphi 7:如何實現多線程?
- 21. 如何在Python中實現線程socket.recv()?
- 22. REG線程:如何實現這
- 23. 瞭解線程是如何實現的
- 24. 如何實現多線程的jQuery
- 25. 線程池實現
- 26. 實現多線程
- 27. java線程同步問題,如何實現可觀察線程
- 28. 單線程實現線程安全嗎?
- 29. Python的線程/線程池的實現
- 30. 使用C++實現線程