ภาษาจาวา-Thread Class

Thread เป็นการทำงานพร้อมกันหลายๆๆงาน เพื่อจะประมวลผลพร้อมกันได้ ซึ่งในภาษาจาวานั้น จะมี method พิเศษที่ชื่อว่า run ในการกำหนดการทำงานของ thread ซึ่งจะเห็นว่าถ้านำ thread ไปใช้กับโปรแกรมทางด้าน network ก็จะใช้ในการประมวลผลของ server ที่มีเครื่อง client หลายเครื่องเข้าใช้พร้อมกัน เมื่อเราเรียกใช้ method run แล้วมันก็จะแยกการทำงานกันแบบอัตโนมัติ ซึ่งในการเรียกใช้งาน method run นั้นจะต้องเรียกใช้โดย method start และในการใช้งาน thread นั้นอาจจะต้องมีการเรียกใช้ method sleep เพื่อหยุด thread บางตัวเพื่อไม่ให้ทำงานที่ขัดแย้งกัน ซึ่งต่อไปก็จะเป็นตัวอย่างโปรแกรมที่ใช้ thread อย่างง่าย ซึ่งจะเป็นการทำงานสุ่มตัวเลขออกมาหลายๆตัวพร้อมกันโดยใช้งาน thread จากนั้นก็จะมีการใช้ sleep เพื่อหยุดการทำงานชั่วคราว
[sourcecode language=”java”]
public class ThreadShowName extends Thread

{

public static void main (String[] args)

{

ThreadShowName thread1, thread2;

thread1 = new ThreadShowName();

thread2 = new ThreadShowName();

thread1.start(); //Will call run.

thread2.start(); //Will call run.

}

public void run()

{

int pause;

for (int i=0; i<10; i++) { try { System.out.println(getName()+" being executed."); pause = (int)(Math.random()*3000); sleep(pause); //0-3 seconds. } catch (InterruptedException interruptEx) { System.out.println(interruptEx); } } } } [/sourcecode]

ผลลัพธ์การรันโปรแกรม

จากตัวโปรแกรมจะเห็นว่าส่วนของการทำงานของแต่ละ thread นั้นจะอยู่ใน method run ซึ่งจะเริ่มทำงานก็ต้องเมื่อใช้ method start และในโปรแกรมนี้ยังมีการสุ่มตัวเลขเป็นจำนวน มิลลิวินาที 0-3000 ซึ่งเท่ากับ 0- 3 วินาทีเพื่อกำหนดเวลาในการ sleep ของแต่ละ thread

Source Code

Leave a Reply

Your email address will not be published. Required fields are marked *