執行緒第二課——執行緒的使用
阿新 • • 發佈:2018-11-28
這節課我們來講講執行緒的使用
首先來講講怎麼建立一個執行緒,我們只有先建立執行緒然後才能談使用對吧。
建立執行緒的方式一: 繼承Thread類
Demo 01:
public class ThreadTeach { public static void main(String[] args) { //建立執行緒就是new一個執行緒類物件MyThread myThread = new MyThread("我自己的執行緒"); //注意,啟動執行緒呼叫的是start()方法,不是run()方法 //請不要閒的蛋疼重寫Thread類的start()方法,否則執行緒會啟動不了 myThread.start(); } } /** *使用程序的方式一: 繼承java.lang.Thread類 */ class MyThread extends Thread{ //最好把父類的構造器都重寫下 //不過我習慣用到那個構造器就重寫哪個構造器 public MyThread() { super(); } //這個構造器的作用就是給這個執行緒起個名public MyThread(String name) { super(name); } /* 這個執行緒能做什麼事完全由這個執行緒類的run()方法決定 因此,如果我們想讓這個執行緒類做我們想做的事,必須重寫父類的run()方法 */ /** * 本方法是重寫的父類Thread類的方法,用於讓這個執行緒執行我們想讓它做的事 */ @Override public void run() { //獲取本執行緒名稱的方法: Thread.currentThread().getName() System.out.println(Thread.currentThread().getName()); } }
建立執行緒的方式二: 實現Runnable介面
Demo 02:
public class ThreadTeach { public static void main(String[] args) { /** * 通過實現Runnable建立執行緒的方法如下: * 1. 建立一個Runnable物件 * 2. 建立一個Thread物件,構造器裡傳入剛建立的Runnable物件 * 3. 呼叫start()方法,啟動執行緒 */ Runnable runnable = new MyRunnable(); Thread thread = new Thread(runnable); thread.start(); } } / /** * 建立執行緒的方式二: 實現java.lang.Runnable介面 * 可以看到Runnable介面就一個抽象方法run()方法,必須重寫此方法 */ class MyRunnable implements Runnable{ @Override public void run() { //算了,下節課演示多執行緒吧,這節課主要講怎麼用 System.out.println("我是通過實現Runnable介面建立的執行緒"); } }