Java多線程有兩種創(chuàng)建方法:
一是繼承Thread類;
二是實(shí)現(xiàn)Runnable接口;
兩種方法都需要重寫run方法
Example1: 繼承Thread類
class MyThread extends Thread{
? ? public void run(){};
}
MyThread myThread = new MyThread(); // 創(chuàng)建一個(gè)線程
myThread.start(); // 啟動(dòng)線程
Example2: 實(shí)現(xiàn)Runnable接口
class MyThread implements Runnable{
? ? public void run(){};
}
MyThread myThread = new MyThread(); // 創(chuàng)建一個(gè)MyThread類
Thread thread = new Thread(myThread); // 把創(chuàng)建的類作為Thread的構(gòu)造方法參數(shù)再創(chuàng)建一個(gè)Thread對象
thread.start(); // 啟動(dòng)線程
一些常用的方法:
Thread.currentThread()? ? // 獲得當(dāng)前線程對象
Thread.sleep(int millisecond)? ? // 使當(dāng)前的線程暫停指定的毫秒數(shù),該方法會(huì)拋出InterruptedExption異常,必須用trycatch塊處理
Thread.join(int millisecond)? ? // 等待這個(gè)線程死亡指定的毫秒數(shù),若為0則是等待直到這個(gè)線程執(zhí)行完成,會(huì)拋出InterruptedExption異常
Thread.yield()? ? // 將自己使用CPU的時(shí)間讓出,讓自己或其他線程執(zhí)行