執行緒開啟的6種方式
阿新 • • 發佈:2018-10-31
一個.java檔案中可以有很多類。不過注意以下幾點:
1、public 許可權的類只能有一個(也可以一個都沒有,但最多隻有1個)
2、這個.java檔案的檔名必須是public類的類名(一般的情況下,這裡放置main方法是程式的入口。)
3、若這個檔案中沒有public的類,則檔名隨便是一個類的名字即可
4、用javac 編譯這個.java檔案的時候,它會給每一個類生成一個.class檔案
以下就是一個.java檔案中有多個類的例子,順便理一下執行緒的開啟。
import java.util.Date; public class ThreadInnerClass { /** * @主要看使用內部類怎樣實現一個執行緒 */ public static void main(String[] args) {
//方式一:
ThreadInner thread1=new Thread(new ThreadInner());
//thread1.start();//相當於new Thread(實現Runnable介面)
//方式二:
// ThreadInner thread2= new Thread(new ThreadInner(),"執行緒1")//給這個執行緒取個名字,叫執行緒1
//thread2.start();//同上,相當於new Thread(實現Runnable介面),ThreadInner物件操作執行緒
//方式3: // new ThreadInner().run();//執行緒也會執行,不過是這個main在操作執行緒。
//方式4:開啟一個新執行緒,並且實現runnable介面,在run()中寫執行程式碼.這就是用匿名內部類 /* new Thread(new Runnable(){//相當於是實現runnable介面 @Override public void run(){ while(true) { try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("1"); } } }).start(); */ // 方式5: /* new Thread(){//直接重寫run方法 @Override public void run(){ System.out.println("2"); } }.start(); */ //方式6:下面有一個類,繼承Thread,s所以可以直接new一個 /* new ThreadInner2(){//相當於繼承Thread,重寫run方法。和上面直接重寫run方法同理 @Override public void run(){ System.out.println("3"); } }.start(); */ } } class ThreadInner implements Runnable{ @Override public void run(){ while(true) { try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+" " + new Date()); } } } class ThreadInner2 extends Thread{ }