Program, Process, Thread 介紹


  1. Program就像是原始碼 , 在IDE編輯修改但還沒執行的程式

  2. Process就像是一個獨立空間, 把各種電腦的實體資源占用下來, 留給程式來執行

  3. Thread就像是執行任務的子空間, 乘載著Process裡頭各種任務

可以得知, 多個Process資源不共用, 而一個Process裡頭可以有很多個Thread, 這些Thread可以共用Process空間裡的資源, 同時這些Thread間也可以互相存取。在同個Process裡頭, 也可以自由的新增/刪減Thread 在C#裡頭, 同樣也有對應的API可以取得正在執行程式的Process ID以及對應的Thread資訊, 可以參考以下的程式碼

  • 使用到了兩個類別Process跟ProcessThread, 都隸屬於System.Diagnostics命名空間

static void Main(string[] args)
  { 
     Process proc = Process.GetCurrentProcess();  
     Console.WriteLine("This is a thread demo");
     Console.WriteLine("PID={0}", proc.Id);
     foreach (ProcessThread item in proc.Threads)
     {
         Console.WriteLine("Thread ID={0}, Name={1}", item.Id);
     }
     Console.ReadKey();
  }

執行結果如下:



32 次瀏覽0 則留言

最新文章

查看全部

全新DAQ數據採集卡 - PXIe/PCIe 5500系列

簡儀科技發布全新JY 5500系列DAQ數據採集卡, 針對多功能測量需求的客戶提供完整的產品解決方案。JY 5500系列共有四種型號(5510, 5511, 5515, 5516)以及兩種介面(PXIe, PCIe)可搭配, 未來也會為客戶提供USB的介面選擇。 完整的量測功能 JY 5500系列板卡提供最高到32通道類比輸入, 4通道類比輸出, 32通道數位輸入/輸出功能, 搭配18 bit的A

C# Winform開發的利器 - 銳視測控軟體SeeSharpTools

C#, 自微軟從2000年發布之後, 經過20年的持續淬鍊、迭代,已經成為主流程式語言之一, 同時完整的生態系以及微軟強力的開源策略和支持, 讓C#語言提供最新最即時的語法以及功能。 C#程式語言的應用場景包含兩大類 桌面應用程式 (Winform, WPF) 網頁應用程式 (MVC, ASP.NET, ...) 在現今網路的時代, 桌面應用程式的使用量已經遠少於網頁應用程式。但在測試測量的領域,

陣列Array的操作

陣列(Array)是程式語言中最常用的的數據類型之一, 由於 C#語言是Managed程式碼(統一由Common Language Runtime管理維護), 因此在C#使用陣列的時候, 用戶不需要考慮記憶體地址、資源開啟/關閉、越界檢查等底層工作, 就像是使用另一種數據格式一樣簡單。 此篇文章介紹了陣列的使用方法, 以及常用的操作, 最後介紹一個簡儀科技提供的dll工具 - SeeSharpTo