2016-09-25 51 views
0

我正在寫一個web服務器,我希望能夠很好地工作,無論它運行在哪個操作系統上。我一直在使用相同的執行風格作爲Does C# AsyncCallback creates a new thread?在非Windows平臺上使用mono時,AsyncCallback是否良好?

我一直在尋找信息是否這是一個很好的實現,或者如果我應該去一個線程池。提問者對上述問題的選擇似乎表示,使用AsyncCallback處理請求是一種非常好的方法,我應該使用它而不是使用線程池。

但我想知道,如果這是真的任何操作系統,或者如果它只適用於Windows?

回答

1

我一直在尋找有關這是一個很好的實現或如果我應該去一個線程池的信息。提問者的選擇回答上面的問題似乎是說,使用的AsyncCallback來處理請求是一個很好的辦法

事實上是,Async-Await有道理在這種情況下,它的設計基於IO調用,遠程調用,除了向調用者發送請求到遠程主機之外,所以線程池線程在等待調用返回時仍然是一個極大的浪費,同時還要堅持重要的資源。事實上,Async-Await將有助於使系統更具可擴展性,因爲調用在基於IO完成端口的硬件(設備驅動程序)上排隊。

但我想知道,如果這是真的任何操作系統,或者如果它只適用於Windows?

當你要使用它Mono (Linux),如果功能被曝光,那麼勢必相同的方式工作預期在Windows,雖然兼容性問題here。如上所述,添加我的觀點,因爲這是一個純粹基於硬件的功能,在Linux和其他Operating systems的情況下,在Windows的相同行上實施,因此它非常肯定它能夠以相同的角度工作,雖然內部實現,API調用和優化肯定會有所不同,但對於最終用戶來說,使用它的經驗不會改變

相關問題