国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

進程與多線程、死鎖初步理解

2019-11-14 16:19:05
字體:
來源:轉載
供稿:網友

概念進程是計算機上的一次執行活動,是程序的一次動態執行過程,是操作系統進行資源分配的單位,當運行一個程序就啟動一個進程。PRocess可以訪問本地或遠程計算機上的進程,并且可以啟動和終止本地系統中的進程(System.Diagnostics)

線程是操作系統分配處理器時間的基本單元,是多個操作系統看起來像同時發生(System.Threading)

  多線程優點:1.用戶界面響應時還可做后臺操作 2.按優先級執行任務 3.通過網絡連接到web服務器或數據庫

  多線程缺點:1.加重系統的負荷可能會導致性能降低 2.控制多線程的代碼比較難,可能導致很多bug

多線程:線程是指程序中的一個單一的順序控制流,線程是進程中的實體。一個進程可以擁有多個線程,一個線程必須有一個父線程。線程不擁有系統資源,只有運行必須的一些數據結構。它與父線程的其他線程共享該進程所擁有的全部資源。線程可以創建撤銷,從而實現程序的并發執行

死鎖:死鎖是指使用共享資源的兩個或多個線程各自占有一些共享資源,并且互相等待其他線程占有的資源才能進行,而導致兩個或者多個線程都在等待對方釋放資源,都停止執行的情形。

實例

啟動線程:

  構造方法用 ThreadStart 代理作為參數;ThreadStart 指向的方法將在線程中執行;線程是通過Start方法來啟動
  Thread t = new Thread(new ThreadStart(MyClass.AStaticMethod));
  t.Start();
線程的屬性和參數:

  Thread.Name獲取或設置線程名;Thread.Priority獲取或設置線程優先級;Thread.IsBackground線程是否可在后臺運行
管理線程:
  Thread.Sleep 阻塞當前線程 Thread.Sleep(3000); // blocks for 3 seconds

  Suspend和Resume并不常用可能導致死鎖等應用程序的嚴重問題

  Thread.Join 等待其它線程停止 t.Join(); // Wait for the thread to exit
  Thread.WaitHandle 等待一個或多個事件 WaitHandle.WaitAll(waitEvents);

  Thread.ThreadState 屬性——線程狀態

中斷和結束線程:

  Thread.Interrupt 方法 中斷處于執行狀態的線程 ;Thread.Abort 方法   結束線程運行

  

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江源县| 钟祥市| 大城县| 扎鲁特旗| 门头沟区| 巩义市| 新巴尔虎右旗| 安溪县| 巍山| 利辛县| 合川市| 辽宁省| 平顺县| 陇南市| 南丹县| 瑞昌市| 米林县| 昌邑市| 东港市| 德安县| 宣恩县| 霸州市| 永丰县| 德保县| 鲁甸县| 巴马| 长岭县| 灵丘县| 固安县| 曲松县| 错那县| 延津县| 婺源县| 汨罗市| 铜川市| 黄梅县| 承德县| 靖宇县| 故城县| 阿城市| 林甸县|