สนับสนุนโดย

วันจันทร์ที่ 17 ธันวาคม พ.ศ. 2561

การใช้ Thread ในสถานการณ์จริง

หลังจากที่เราเรียนรู้เรื่อง Thread กันมาสักพักแล้วทีนี้เรามาเขียนโปรแกรมให้ทำงานแบบ Thread กันดูครับ ซึ่งมันจะทำงานหลายๆ อย่างพร้อมกันได้ โดยไม่ต้องรอให้อันนึงเสร็จก่อน ตรงนี้เป็นจุดที่เจ๋งมากๆ สำหรับภาษา java เอาล่ะ มาลุยกันเลย


  1. กฏมีอยู่ว่า คลาสใดต้องการให้ทำงานแบบ Thread จะต้อง extends Thread ก่อน
  2. และสร้าง run method เพื่อเป็นจุดเริ่มต้นในการทำงาน
  3. เรียก object.start() เพื่อให้ทำการสั่งเรียก run method ใน class อีกที




โค้ดตัวอย่าง
package myPackage;

class Thread1 extends Thread {
    public Thread1(String name) {
        super(name);
    }
    
    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.print(getName());
        }
    }
}

public class MyThread {
    public static void main(String[] args) {
        Thread1 t1 = new Thread1("A");
        Thread1 t2 = new Thread1("B");
        
        t1.start();
        t2.start();
    }
}

ผลการทำงาน
BBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAABBBBAAAAAAABBBAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBB

จุดสังเกตุ
จะเห็นได้ว่าการทำงานของ loop นั้นมันจะทำงานแบบพร้อมๆ กันทั้ง 2 object ทำหให้มีค่า B, A สลับกันไปเรื่อยๆ ตามตัวอย่างข้างบน การเขียนโปรแกรมแบบ Thread เหมาะกับการทำงานหลายด้านมาก เช่นโปรแกรมช่วยดาวโหลด สแกนไวรัส โปรแกรมจัดการฐานข้อมูล รับส่งข้อมูลทางเนตเวิค เกมส์ ประมวลผลด้านวีดีโอ และอื่นๆ

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

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