掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
一、線程的基本概念
簡單的說:線程就是一個程序里不同的執(zhí)行路徑,在同一個時間點上cpu只會有一個線程在執(zhí)行,Java里的多線程是通過java.lang.Thread類來實現(xiàn)的,每個線程都擁有自己獨立的方法??臻g。

目前成都創(chuàng)新互聯(lián)公司已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、盧龍網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
二、java線程的創(chuàng)建和啟動
***種
定義線程類實現(xiàn)Runnable接口:
Thread myThread = new Thread(target) //target為Runnable接口類型
Runnable中只有一個方法:
public void run();用以定義線程運行體
第二種
可以定義一個Thread的子類并重寫其run方法:
clas MyThread extends Thread{
public void run(){}
}
線程類必須通過執(zhí)行Thread的start()方法啟動一個新的線程,如果調(diào)用run()方法是屬于方法的調(diào)用,不會啟動一個新的線程,推薦使用***種方式創(chuàng)建線程,使用接口較為靈活。
三、線程狀態(tài)裝換
調(diào)用線程start()方法時,線程進入就緒狀態(tài),Cpu分配時間片,線程進入運行狀態(tài),時間片結(jié)束,run()方法未執(zhí)行完,線程進入阻塞狀態(tài)。
四、線程控制基本方法
isAlive() //判斷線程是否還“活著”,即線程是否還未終止
getPriority() //獲得線程的優(yōu)先級數(shù)值
setPriority() //設(shè)置線程的優(yōu)先級指數(shù)
Thread.sleep() //靜態(tài)方法,將當前線程睡眠指定毫秒數(shù)
join() //調(diào)用某線程的該方法,將當前線程與該線程合并,
//即等待該線程結(jié)束,再回復(fù)當前線程的運行。
yield() //讓出CPU,當前線程進入就緒狀態(tài)等待調(diào)度
interrupt() //中斷線程
wait() //當前線程進入對象的wait pool
notify()/all //喚醒對象的wait pool中的一個/所有等待線程
五、sleep方法
Thread的靜態(tài)方法
public static void sleep(long millis)throws InterruptedException
必須對異常進行捕捉
Thread.currentThread(); //拿到當前線程

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流