新聞中心
一、線程的基本概念
簡(jiǎn)單的說(shuō):線程就是一個(gè)程序里不同的執(zhí)行路徑,在同一個(gè)時(shí)間點(diǎn)上cpu只會(huì)有一個(gè)線程在執(zhí)行,Java里的多線程是通過(guò)java.lang.Thread類來(lái)實(shí)現(xiàn)的,每個(gè)線程都擁有自己獨(dú)立的方法??臻g。

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


咨詢
建站咨詢
