คุณจะทำให้เธรดตายใน Java ได้อย่างไร
คุณจะทำให้เธรดตายใน Java ได้อย่างไร

วีดีโอ: คุณจะทำให้เธรดตายใน Java ได้อย่างไร

วีดีโอ: คุณจะทำให้เธรดตายใน Java ได้อย่างไร
วีดีโอ: Can we restart a dead thread in Java? 2024, อาจ
Anonim

ทั้งหมด เกลียว NS ตาย โดยการส่งคืนจากการเรียกไปยังเมธอดการรัน หรือโดยการโยนข้อยกเว้นที่เผยแพร่ออกไปนอกเมธอดการรัน

เธรดจะตายในสถานการณ์ต่อไปนี้:

  1. เมื่อวิธีการทำงานเสร็จสิ้น (หรือพ่น)
  2. เมื่อกระบวนการสิ้นสุดลง
  3. เมื่อคอมพิวเตอร์ปิดหรือรีเซ็ต

พิจารณาเรื่องนี้ เหตุการณ์ใดจะทำให้เธรดตาย?

NS ด้ายตายได้ ในสองวิธี: ทั้งจากธรรมชาติ สาเหตุ หรือโดยการถูกฆ่า (หยุด) NS ด้ายตาย โดยธรรมชาติเมื่อเมธอด run() ออกตามปกติ

ในทำนองเดียวกันเธรดที่ตายแล้วคืออะไร? NS เกลียว เป็นที่ยอมรับว่า ตาย เมื่อเมธอด run() ดำเนินการเสร็จสิ้น เมื่อ เกลียว เสร็จสิ้นวิธีการ run() และ ตาย , ไม่สามารถนำกลับมาได้ เกลียว ของการดำเนินการหรือแม้กระทั่งในสถานะที่รันได้ เรียกใช้เมธอด start() บน a ด้ายตาย ทำให้เกิดข้อยกเว้นรันไทม์

เกี่ยวกับเรื่องนี้ คุณจะฆ่าเธรดใน Java ได้อย่างไร

ไม่มีทางสวยได้ ฆ่า NS เกลียว . โดยทั่วไปคุณไม่ ฆ่า , หยุด หรือ ขัดจังหวะ a เกลียว (หรือตรวจสอบว่าถูกขัดจังหวะหรือไม่ ()) แต่ปล่อยให้มัน ยุติ อย่างเป็นธรรมชาติ มันเป็นเรื่องง่าย คุณสามารถใช้ลูปใดก็ได้ร่วมกับตัวแปรบูลีน (ระเหย) ภายในวิธี run() เพื่อควบคุม ด้าย กิจกรรม.

คุณจะหยุดเธรดได้อย่างไร

วิธีการที่ทันสมัยในการระงับ/ หยุดกระทู้ กำลังใช้แฟล็กบูลีนและ เกลียว . วิธีการขัดจังหวะ () การใช้แฟล็กบูลีน: เราสามารถกำหนดตัวแปรบูลีนซึ่งใช้สำหรับ หยุด /ฆ่า กระทู้ พูดว่า 'ออก' เมื่อใดก็ตามที่เราต้องการ หยุดกระทู้ ตัวแปร 'exit' จะถูกตั้งค่าเป็นจริง

แนะนำ: