เธรดถูกกำหนดให้เป็นเส้นทางการดำเนินการของโปรแกรม แต่ละเธรดกำหนดโฟลว์การควบคุมที่ไม่ซ้ำกัน หากแอปพลิเคชันของคุณเกี่ยวข้องกับการดำเนินการที่ซับซ้อนและใช้เวลานาน มักจะเป็นประโยชน์ในการกำหนดเส้นทางหรือเธรดการดำเนินการที่แตกต่างกัน โดยแต่ละเธรดทำงานเฉพาะงาน
วงจรชีวิตของเธรดเริ่มต้นเมื่อมีการสร้างอ็อบเจ็กต์ของคลาส System.Threading.Thread และสิ้นสุดเมื่อเธรดสิ้นสุดหรือดำเนินการเสร็จสิ้น
ต่อไปนี้คือสถานะต่างๆ ในวงจรชีวิตของเธรด −
-
สถานะไม่เริ่มต้น - เป็นสถานการณ์เมื่อมีการสร้างอินสแตนซ์ของเธรดแต่ไม่มีการเรียกเมธอด Start
-
สถานะพร้อม - เป็นสถานการณ์ที่เธรดพร้อมที่จะรันและรอรอบ CPU
-
สถานะไม่สามารถทำงานได้ - เธรดไม่สามารถดำเนินการได้เมื่อ
- เรียกวิธีการสลีป
- เรียกวิธีการรอ
- ถูกบล็อกโดยการดำเนินการ I/O
-
สถานะที่ตายแล้ว - เป็นสถานการณ์เมื่อเธรดดำเนินการเสร็จสิ้นหรือถูกยกเลิก
ต่อไปนี้เป็นตัวอย่างที่แสดงวิธีการสร้างเธรด −
ตัวอย่าง
using System;
using System.Threading;
namespace Demo {
class Program {
public static void ThreadFunc() {
Console.WriteLine("Child thread starts");
}
static void Main(string[] args) {
ThreadStart childref = new ThreadStart(ThreadFunc);
Console.WriteLine("In Main: Creating the Child thread");
Thread childThread = new Thread(childref);
childThread.Start();
Console.ReadKey();
}
}
} ผลลัพธ์
In Main: Creating the Child thread Child thread starts