在Linux上,是否有可能讓進程的線程在不同的虛擬地址空間上運行?如果是這樣,怎麼樣?是否有可能在單獨的虛擬地址空間中運行每個線程?
0
A
回答
3
雖然不可能在同一個進程中有不同的虛擬地址空間的線程,但它仍然可能有Thread Local Storage。你可能對此感興趣。
7
第根據定義,線程共享一個地址空間。如果你需要單獨的地址空間,你應該使用多個進程。
2
這是不可能的。 Linux使用系統調用clone
來實現線程。它需要的標誌包括CLONE_THREAD
,這意味着新進程與調用進程放置在同一個線程組中,並且CLONE_VM
表示兩個進程/線程共享虛擬內存。由於Linux內核版本2.6.0-test6,不能指定CLONE_THREAD
而不指定CLONE_VM
。 (請參見該鏈接的錯誤部分。)
但是,根據您的確切動機,您可能會找到clone
的標誌組合,以實現您想要的功能。
相關問題
- 1. 多線程虛擬地址空間?
- 2. 是否有可能在單獨的線程中運行幾個QWidgets
- 3. 對於arm Linux,用戶空間中的線程是否可以訪問內核空間的虛擬地址?
- 4. 虛擬地址空間
- 5. 是整個過程的虛擬地址空間分割成頁
- 6. BeginInvoke()是否運行單獨的線程?
- 7. 將內核空間虛擬地址映射到Windows 10驅動程序中的用戶空間虛擬地址
- 8. Linux進程虛擬地址空間的地址範圍
- 9. 虛擬地址系統上的進程地址空間
- 10. 虛擬內存是否總是爲進程提供更大的地址空間?
- 11. 虛擬機的線程是否需要每個線程有多個實例?
- 12. 同時在python中運行多個線程 - 是否有可能?
- 13. CloudFoundry:每個應用程序都在單獨的虛擬機上運行?
- 14. linux pmap瞭解在特定虛擬地址空間中運行的內容
- 15. 虛擬地址空間和尋呼
- 16. 如何分頁虛擬地址空間?
- 17. 虛擬地址空間碎片
- 18. 可變分區方案中的虛擬地址空間
- 19. 是否有可能(以編程方式)在macOS中爲每個單獨的「空間」/桌面設置壁紙?
- 20. 在Linux中,考慮到32位架構,每個進程都有一個4GB的虛擬地址空間
- 21. 虛擬地址空間vs虛擬內存
- 22. 以兼容模式運行的64位系統中的虛擬地址空間
- 23. Google Analytics(分析)是否在單獨的線程中運行?
- 24. SQL觸發器是否在單獨的線程中運行?
- 25. EF嵌套查詢是否在單獨的線程中運行?
- 26. CallBatchTasks(來自ORMLite)是否在單獨的線程中運行?
- 27. Swift CoreBluetooth:CentralManager是否應該在單獨的線程中運行?
- 28. Web Audio API事件是否在單獨的線程中運行?
- 29. 異步方法是否在單獨的線程中運行?
- 30. does getlastknownlocation是否在單獨的線程中運行?
聽起來有點像你想要進程而不是線程。 – ThiefMaster
我認爲這是不可能的。無論如何,你可以說原因 – 2012-06-19 10:35:34
單獨的進程有什麼問題嗎?事實上,如果一個線程沒有與其兄弟分享它的地址空間,你想要什麼? –