Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เธรดใน C #


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

วงจรชีวิตของเธรดเริ่มต้นเมื่อมีการสร้างอ็อบเจ็กต์ของคลาส 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