2
A
回答
1
我看不出有這種情況。
請記住,任何啓用了多處理器的操作系統都會自動分配處理器時間,因爲它認爲適合嘗試平衡處理器負載。
這意味着,實際上,根據線程優先級,您正在運行的任何進程線程將不斷中斷,以便操作系統可以將處理器時間分配給其他進程。同一線程內的單個計算甚至可能不會在同一個處理器上執行。
如果您修復了只在一個指定處理器上運行的進程代碼,那麼這可能會妨礙其性能,因爲它不允許操作系統平衡處理器負載。
我想你可以把它的大部分作爲關鍵部分,但是這會阻礙你在其他領域的應用,特別是處理任何子線程。
0
至少在理論上,似乎有可能通過讓線程在不同內核之間彈跳來降低系統性能。由於許多多核設計爲每個內核都包含單獨的L1高速緩存,因此,只要線程移動到新內核,線程之前訪問的任何數據都不會再緩存到新內核中,而必須從更高級別的緩存中獲取(或記憶)。保持線程運行在相同的內核上將增加L1緩存具有與線程正在做什麼相關的數據的可能性。當然,這個影響有多大取決於其他因素,比如緩存的大小以及核心上「同時」調度了多少其他線程。
相關問題
- 1. 多線程內核如何工作?
- 2. 滾動不在特定DIV內的移動設備上工作
- 3. 在運行時找出特定線程的CPU內核
- 4. 什麼是[inittest]的優點在內核
- 5. 何時在Linux內核中使用內核線程與工作隊列
- 6. 在grails中設置作業的線程優先級
- 7. 有沒有做一個特定的線程中的OpenCL內核
- 8. 特斯拉M2050上CUDA內核的最大線程數
- 9. 如何使OpenMP線程或任務在特定內核上運行
- 10. 工作線程內的UpdateAllViews()?
- 11. 線程和內核
- 12. 線程vs內核
- 13. 在內核線程上映射時用戶線程資源
- 14. ARM/DSP Linux工具鏈內核設置
- 15. 如何在tinymce中設置特定節點的內容?
- 16. 設置線程池中的最大線程數少於核心
- 17. 設置CoreData NSManagedObjectContext線程優先級
- 18. 線程內線程的優先級
- 19. 通過了解線程的優先級來設置線程的優先級
- 20. 爲上游服務器設置工作線程
- 21. 工作區設置與項目特定設置
- 22. 工作線程上的MessageBox
- 23. 如何在windbg內核模式下設置內存斷點?
- 24. 優雅地關閉工作線程
- 25. 如何優化每個內核數量的線程數
- 26. 如何將焦點設置在datagrid/gridview中的特定行上?
- 27. 無法在IE的特定行上設置斷點
- 28. 在Pjax容器(Yii2)內的特定URL上設置enablePushState = false
- 29. 在線程內設置引用變量
- 30. Python線程模塊創建用戶空間線程或內核特殊線程
除非實際上每個內核運行一個線程(這似乎不太可能),那麼交換內核的效果將與在同一內核上切換上下文的效果非常相似。 – 2009-07-09 18:27:50