Runnable和Thread
阿新 • • 發佈:2020-10-05
繼承Thread類
- 子類繼承Thread類具備多執行緒能力
- 啟動執行緒:子類物件.start()
- 不建議使用:避免OOP單繼承侷限性
實現Runnable介面
- 實現介面Runnable具有多執行緒能力
- 啟動執行緒: 傳入目標物件+Tread物件 .start()
- 推薦使用:避免單繼承侷限性,靈活方便,方便同一物件被多個執行緒使用
package DemoThread; //多個執行緒同時操作同一個物件 //買火車票的例子 public class TestThread02 implements Runnable{ //票數 private int ticketNums=10; @Overridepublic void run() { while (true) { if(ticketNums<=0){ break; } try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+ "-->拿到了第" + ticketNums-- + "票"); } } public static void main(String[] args) { TestThread02 testThread02=new TestThread02(); new Thread(testThread02,"阿優").start(); new Thread(testThread02,"大黃").start(); new Thread(testThread02,"小柔").start(); } }