我正在爲Windows CE設備在Compact Framework 2.0上爲我公司編寫一個相對較大的應用程序,並且正在使用單個CPU內核。針對多個套接字的異步與同步套接字在潛在線程密集型應用中的應用
沒有深入細節,在最壞的情況下,非套接字相關工作可以同時運行10個左右的線程。
記住這一點,我第一次在任何一個小測試應用程序中使用套接字。這個更大的應用程序可能會與同一IP地址上的7個不同端口通信(例如明顯錯誤的IP,1.2.3.4:4000,1.2.3.4:4001,1.2.3.4:4002等),因此使用7個不同的端口套接字對象。
精簡框架2,1 CPU芯,圍繞10個非插座線程在最壞的情況下,和圖7個插座編程發送的能力和連續接收(到處理/儘快響應)爲所有這些。
我一直在考慮,如果異步套接字編程只會讓我陷入困境,對於Compact Framework 2.0,線程的默認最大線程數是25(每個核心),並且基本上我得到的是多麼「聰明」。
您有哪些建議?異步或同步套接字編程,以及您建議的任何特定附加細節,或者如果我不擔心。
我擔心可能同時運行的線程的最大數量,但我沒有意識到只有回調(和從回調調用的函數)計入線程池中的線程,這是我需要的信息位。這聽起來像我所擔心的是保持回調短而簡潔,當然還有一般的線程安全。謝謝你的想法。 – 2012-07-26 13:29:23
@PeterLacerenza,你完全正確。這是一個簡單的測試:將應用程序加載並暫停調試器。你應該看到沒有線程在某個地方暫停。如果是這種情況,你成功了,並且是非阻塞的。 – usr 2012-07-26 16:00:40