สนับสนุนโดย

วันเสาร์ที่ 15 ธันวาคม พ.ศ. 2561

thread state

สถานะต่างๆ ของ Thread ขณะโปรแกรมกำลังทำงาน ประกอบไปด้วยสถานะดังต่อไปนี้
NEW = เมื่อเทรดถูกสร้าง
RUNNABLE = เมื่อเทรดกำลังอยู่ในคิวงาน
BLOCKED = เมื่อเทรดกำลังรอที่จะ lock วัตถุเข้าสู่ synchronozed block
WAITING = เมื่อเทรดกำลังรอเหตุการณ์บางอย่างที่จะเกิดขึ้นกับ เทรดอีกเส้นหนึ่ง
TIMED_WAITING = เมื่อเทรดรอให้ถึงเวลาที่กำหนด จะเกิดเมื่อโดนเรียก sleep หรือ wait และ join แบบมีกำหนดเวลา
TERMINATED = เมื่อเทรดสิ้นสุดการทำงานแล้ว


โดยแต่ละตัวเป็น field ที่คืนค่ามาเป็น java.lang.Thread.State แบบ enum
เพื่อให้เข้าใจลองมาดูโค้ดนี้กัน
package myPackage;

public class ThreadStateExample {
    public static void main(String[] args) {
        for (Thread.State e : Thread.State.values()) {
            System.out.println(e.toString());
        }
    }
}

ผลการทำงาน
NEW
RUNNABLE
BLOCKED
WAITING
TIMED_WAITING
TERMINATED

ไม่มีความคิดเห็น:

แสดงความคิดเห็น