สนับสนุนโดย

วันพุธที่ 19 ธันวาคม พ.ศ. 2561

SRO : Self Running Object

วันนี้เราจะมารู้จักกับการทำ sro หรือการทำให้ object สามารถทำงานเป็น thread ได้ด้วยตัวเอง แนวคิดนี้ช่วยให้เราเขียนโปรแกรมขนาดใหญ่ ที่ต้องการทำงานแบบแยกส่วน หรือ multi working ได้ง่ายขึ้นมาก เพราะทุกอย่างถูกแยก และทำงานจบในตัวเอง



ลองมาดูโค้ดตัวอย่างกันครับ

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

class SroBase {
    private Thread t;
    
    private Runnable r = new Runnable() {
        public void run() {
            work();
        }
    };
    
    SroBase() {
        t = new Thread(r);
        t.start();
    }
    
    SroBase(String name) {
        t = new Thread(r, name);
        t.start();
    }
    
    protected void work() {
        System.out.println("work doing");
    }
}

class MySro extends SroBase {
    protected void work() {
        System.out.println("hello my sro");
    }
}

public class SroExample {
    public static void main(String[] args) {
        new MySro();
    }
}

ผลการทำงาน
hello my sro

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

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