1、wait與sleep的區別
   wait:屬于Object類的方法,wait時其它線程可以訪問鎖定對象,相當于釋放了鎖。
   sleep:屬于Thread類的方法,sleep時其它線程不可以訪問鎖定對象。

2、線程與進程的概念
   線程:擁有多個執行路徑
   進程:是一個靜態的概念,如一個EXE

3、創建和啟動線程的方式
   創建的方法有兩種:一種是繼承自Thread類,覆蓋public void run()方法;第二種是實現Runnable接口類,實現public void run()方法。推薦使用第二種方法。
   啟動線程調用start()方法,里面執行的是run()方法的實現體。

4、sleep
   睡眠指定時間毫秒數,sleep時其它線程不可以訪問鎖定對象。

5、join
   等待此被調用線程執行結束后,調用線程再往下執行。

6、yield
   當前正在執行的線程對象暫時停頓,釋放CPU時間片給調用線程。

7、synchronized
   鎖定當前方法或者代碼塊,則同一時刻只允許一個線程執行此方法或者代碼塊。開始執行時獲取鎖,執行完成后釋放鎖,執行期間,其它線程無法訪問鎖定對象。

8、wait
   一直處于等待狀態,只到調用notify方法或者notifyAll方法時,才能被喚醒。

9、notify/notifyAll
   喚醒一個或者所有等待的線程。

10、interrupt
   打斷當前執行的線程,會觸發InterruptedException,并執行完異常處理代碼。

11、stop
   與interrupt相比較,stop會直接打斷當前執行的線程,不會觸發InterruptedException異常,因此也不會執行異常處理代碼。