天天看點

Java多線程系列-線程建立

1.怎樣建立多線程?

Java從語言級别實作多線程,是以實作一個多線程程式很easy。有兩種方法能夠實作多線程,即繼承Thread類和實作Runnable接口。由于Java不支援多繼承的原因,建議盡可能通過實作Runnable接口實作多線程。

使用Runnable接口實作多線程有例如以下長處:

1、能夠避免由于Java的單繼承特性而帶來的局限。

2、增強程式的健壯性。代碼能夠被多個線程共享。代碼與資料是獨立的;

3、适合多個同樣程式代碼的線程區處理同一資源的情況。

兩者之間的不同:

*Thread也實作了Runnable接口,是以繼承自Thread類的子類也實作了Runnable接口

*繼承Thread類實作多線程,每個線程都獨占run方法中的代碼,而實作Runnable接口實作的多線程共同擁有run方法中的資料和代碼。

class MyThread extends Thread{
    private int ticket = 5;
    public void run(){
        for (int i=0;i<10;i++)
        {
            if(ticket > 0){
                System.out.println("ticket = " + ticket--);
            }
        }
    }
}

public class ThreadDemo{
    public static void main(String[] args){
        new MyThread().start();
        new MyThread().start();
        new MyThread().start();
    }
}           
class MyThread implements Runnable{
    private int ticket = 5;
    public void run(){
        for (int i=0;i<10;i++)
        {
            if(ticket > 0){
                System.out.println("ticket = " + ticket--);
            }
        }
    }
}

public class RunnableDemo{
    public static void main(String[] args){
        MyThread my = new MyThread();
        new Thread(my).start();
        new Thread(my).start();
        new Thread(my).start();
    }
}