我經歷了幾個問題,如POSIX Threads on a Multiprocessor System和Concurrency of posix threads in multiprocessor machine和Threads & Processes Vs MultiThreading & Multi-Core/MultiProcessor : How they are mapped?在多進程多處理器環境
基於這些和其他一些維基文章去選擇的線程數,我相信,有三個基本的作品即一個系統,輸入,處理和輸出
對於CPU - CPU密集型的線程綁定處理號(申請號*每個應用程序線程)應該是處理器的核的apprx 1〜1.5倍的數量。
輸入和輸出線程必須足夠大,以消除任何瓶頸。例如,對於基於查詢/查詢確認和響應/響應確認模型的通信系統,在I/O等待狀態中不能浪費時間。
如果對動態內存有很大的要求,最好使用比線程更多的進程(以避免內存同步升級)。
這些參數是否相當一致,同時確定我們應用程序中的線程數量?我們是否需要查看其他參數?
感謝馬丁..但爲什麼操作系統有它的作用?是否因爲指令(調度等)的最終執行順序取決於操作系統?我猜想,管道襯裏和無序執行是硬件線程的屬性..請糾正我,如果我錯了.. – 2012-04-13 10:39:53
OS是界面的基礎。不可避免地,性能差異將浮出水面。其中之一是調度算法。線程調度的最終順序取決於操作系統,是的。管道襯裏和無序執行是硬件優化,是的。 – 2012-04-13 10:47:59
再一次感謝..想想我最好的前進方向是開放性的想法...... :) – 2012-04-13 10:53:26