C# 異步多執行緒并行運行速度不穩定,如開始正常400毫秒,運行一段時間800毫秒,一會兒又正常400毫秒.
uj5u.com熱心網友回復:
你檢查一下你電腦的性能是否有問題uj5u.com熱心網友回復:
很正常,執行緒,task 都是代表的都是并行能力,只是被博客園那些人給帶偏了,變成了不卡,并發,快但是這都是表象:
能并行-----------所以他可以同時運行多個任務,所以計算的任務不會妨礙顯示的任務,所以不卡
執行緒task---------都是并行不是并發,控并發的是鎖,是信號量。而不是執行緒和task
快-----------這個把只是宏觀標準,因為系統能并行,所以不會因為某個慢的卡住處理程序,所以宏觀表現得快,同時假設一個任務有兩個不相干的子任務運行,這兩個子任務可以各自同時運行,所以串行快(最常見的解釋是:煮飯的同時炒菜,飯煮好了,菜也差不多了)
但是----------------------執行緒,task都是基于cpu并發的,他用時間片來回切換執行。所以微觀上他的時間和你系統的執行緒數量,執行緒優先級有關。
比如1000執行緒同時執行和100個執行緒同時執行他在微觀上肯定不一樣對吧,畢竟就8個核(假設就8個核),來回切換做,切10000和切100,總有執行緒吃虧,有執行緒占便宜嘛
uj5u.com熱心網友回復:
有設定后臺嗎有咩有設定延遲時間 呢uj5u.com熱心網友回復:
沒有延時的!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/net/186731.html
標籤:C#
上一篇:C# winform表單程式,能否通過彈出cmd命令視窗列印輸出,而不是用console,不是很方便
下一篇:新手請教,C#控制元件問題。
