关于JAVA多线程:如何使用扩展线程创建进程并实现Runnable



在阅读《Thinking in JAVA》这本书时,我发现了一个关于JAVA多线程的问题。

    class ThreadMethod {
    private int countdown = 5;
    private Thread t;
    private String name;
    public ThreadMethod(String name) {
        this.name = name;
    }
    public void runTask() {
        if (t == null) {
            t = new Thread(name) {
                public void run() {
                    while (true) {
                        System.out.println(this);
                        if (--countdown == 0) return;
                        try {
                            sleep(10);
                        } catch (InterruptedException e) {
                            System.out.println("interrupted");
                        }
                    }
                }
                public String toString() {
                    return getName() + ": " + countdown;
                }
            };
            t.start();
        }
    }
}
public class ThreadVarations{
    public static void main(String[] args) {
        for(int i=0;i<10;i++)
        new ThreadMethod("ThreadMethod").runTask();
    }
}

类ThreadMethod不包含extends Threadimplements Runnable。那么这个类如何创建一个流程呢?

你需要用一个给定的类初始化一个新的线程,实现Runnable并调用start,方法run()将在另一个线程中调用。

new Thread(new ThreadMethod).start();

最新更新