วันจันทร์ที่ 16 สิงหาคม พ.ศ. 2553

เรื่องของ Thread

Thread อ่านว่า เธรด หลายๆคนคงเคยได้ยินมันแต่ไม่รู้ว่ามันใช้ยังไงบทความนี้จะมาเล่าถึงเธรดกันก่อนว่ามันเป็นยังไงมันใช้ทำอะไร
    เราสามารถบอกได้ว่าเธรดคือหน่วยประมวลผลย่อยที่แยกออกมาจากโปรเซสอีกที(Light Wieght Process) ประโยชน์หลักๆของเธรดก็คือ เราสามารถแบ่งหน้าที่การทำงานได้หลายๆส่วน ขอยกตัวอย่างเป็นวอตำรวจ นะครับหลายๆคนคงจะรู้จัก สังเกตหน้าที่การทำงานระหว่าง วอ และ โทรศัพ นะครับทั้งๆที่เป็นอุปกรณ์ที่ใช้ในการสื่อสารเหมือนกันแต่ทำไมถูกสร้างออกมาคนละอย่างกันเลย การรับและส่งข้อมูลของวอก็คือรอจนกว่าอีกฝั่งจะพูดเ็ส็จเราถึงจะส่งข้อมูลกลับได้ ส่วนโทรศัพพูดแทรกขึ้นมายังได้เลย ตรงส่วนนี้เองครับที่เป็นประโยชน์ของเธรด สรุปง่ายๆคือเธรดเป็นส่วนที่สร้างขึ้นมาใหม่เพื่อตอบสนองไปยังโปรแกรมหรือยูเซอร์ได้เร็วขึ้น โดยทำให้เราไม่ต้องเสียเวลารอจนกว่าโปรแกรมจะทำงานเสร็จ และ ยังช่วยให้สามารถแชร์ทรัพยาการณ์ระหว่าง Process มายัง Thread ได้อีกด้วย จริงๆแล้วประโยชน์ของเธรดยังมีมากกว่านั้นนัครับ

เอาล่ะเรามาลองเขียนเธรดกันดีกว่า

class LWProcess extends Thread{
        public void run(){
                 int i = 0;
                 do{
                      System.out.println(i);
                      i = i+1;
                 }while(i<1000);
        }
}

ปกติเวลาเราเขียน thread สามารถทำได้หลายวิธีแต่ในบทความนี้จะพูดถึงการสืบทอด จากcodeตัวอย่าง นี้คือการสืบทอดคลาส Thread ครับ โดยเธรดจะเข้ามาทำงานที่ constructor ก่อนที่จะไปทำงานที่ run ในการเขียน thread แต่ละครั้งจะต้องทำการ override method ที่ชื่อ run ลงไปด้วยครับ

LWProcess aThread = new LWProcess();
aThread .start();

จากคำสั่งข้างต้นคือการสั่งให้ Thread ทำงาน

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

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