เธรดถูกกำหนดให้เป็นเส้นทางการดำเนินการของโปรแกรม แต่ละเธรดกำหนดโฟลว์การควบคุมที่ไม่ซ้ำกัน หากแอปพลิเคชันของคุณเกี่ยวข้องกับการดำเนินการที่ซับซ้อนและใช้เวลานาน มักจะเป็นประโยชน์ในการกำหนดเส้นทางหรือเธรดการดำเนินการที่แตกต่างกัน โดยแต่ละเธรดทำงานเฉพาะงาน
วงจรชีวิตของเธรดเริ่มต้นเมื่อมีการสร้างอ็อบเจ็กต์ของคลาส 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