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 ทำงาน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น