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();
}
}