大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java創(chuàng)建線程的三種方式

Java創(chuàng)建線程的三種方式

更新時間:2022-09-05 11:11:54 來源:動力節(jié)點 瀏覽1176次

Java創(chuàng)建線程的方式有哪些?動力節(jié)點小編來給大家介紹三種Java創(chuàng)建線程的方式。

1.繼承Thread類

步驟:

a.創(chuàng)建一個類繼承Thread,并重寫run()方法,run()方法體為線程要執(zhí)行的任務(wù)。

b.創(chuàng)建該類的實例對象,即創(chuàng)建了線程對象。

c.調(diào)用star()方法來啟動線程

public class TestThread extends Thread {
private int i = 0;
@Override
public void run() {
for (; i < 10; i++) {
System.out.println(this.getName() + " " + i);
}
}
public static void main(String[] args) {
for (int j = 0; j < 20; j++) {
// 設(shè)置線程名稱
Thread.currentThread().setName("主線程");
// 獲取當(dāng)前線程
System.out.println(Thread.currentThread().getName() + " " + j);
if (j == 5) {
// 創(chuàng)建第一個線程
new TestThread().start();
// 創(chuàng)建第二個線程
new TestThread().start();
}
}
}
}

運行結(jié)果

2.實現(xiàn)Runnable接口

步驟:

a.定義Runnable接口的實現(xiàn)類,重寫run()方法,run()方法體為線程要執(zhí)行的任務(wù)。

b.創(chuàng)建Runnable實現(xiàn)類的實例對象,將tr作為Thread對象的target創(chuàng)建并啟動新線程。

c.調(diào)用star()方法來啟動線程。

public class TestRunnable implements Runnable {
private int i = 0;
@Override
public void run() {
for (; i < 10; i++) {
// 實現(xiàn)Runnable接口 只能通過Thread.currentThread().getName()獲取線程名稱
System.out.println(Thread.currentThread().getName() + " " + i);
}
}
public static void main(String[] args) {
for (int j = 0; j < 20; j++) {
// 獲取當(dāng)前線程
System.out.println(Thread.currentThread().getName() + " " + j);
if (j == 5) {
TestRunnable tr = new TestRunnable();
// 通過new Thread(Runnable target, String name)方式創(chuàng)建
new Thread(tr, "線程1").start();
new Thread(tr, "線程2").start();
}
}
}
}

運行結(jié)果

3.通過Callable和Future接口創(chuàng)建

步驟:

a.創(chuàng)建Callable接口的實現(xiàn)類,實現(xiàn)call()方法,call()方法作為線程執(zhí)行體,并且有返回值。

b.創(chuàng)建Callable實現(xiàn)類的實例對象,使用FutureTask類來包裝Callable對象。

c.使用FutureTask對象作為Thread對象的target創(chuàng)建并啟動新線程。

d.調(diào)用FutureTask對象的get()方法來獲得子線程執(zhí)行結(jié)束后的返回值。

public class CallableTest implements Callable<Integer> {
@Override
public Integer call() throws Exception {
int i = 0;
for (; i < 10; i++) {
// 實現(xiàn)Runnable接口 只能通過Thread.currentThread().getName()獲取線程名稱
System.out.println(Thread.currentThread().getName() + "循環(huán)變量 " + i);
}
return i;
}
public static void main(String[] args) {
CallableTest test = new CallableTest();
FutureTask<Integer> ft = new FutureTask<Integer>(test);
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName() + " " + i);
if (i == 5) {
new Thread(ft, "有返回的線程").start();
}
}
try {
System.out.println("子線程的返回值:" + ft.get());
} catch (InterruptedException | ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//java8支持用Lambda表達式創(chuàng)建Callable對象
public class CallableTest2 {
public static void main(String[] args) {
FutureTask<Integer> ft = new FutureTask<Integer>((Callable<Integer>) () -> {
int i = 0;
for (; i < 20; i++) {
System.out.println(Thread.currentThread().getName() + "循環(huán)變量" + i);
}
return i;
});
for (int j = 0; j < 20; j++) {
System.out.println(Thread.currentThread().getName() + " " + j);
if (j == 5) {
new Thread(ft, "有返回值的線程").start();
}
}
try {
System.out.println("子線程的返回值:" + ft.get());
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
}

運行結(jié)果

以上就是關(guān)于“Java創(chuàng)建線程的三種方式”的介紹,大家如果想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的Java多線程編程,里面還有更豐富的知識等著大家去學(xué)習(xí),希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 在线观看国产情趣免费视频 | 亚洲欧美日韩精品久久久 | 久草在线免费看视频 | 精品国产第一国产综合精品 | 亚洲一区二区三区高清网 | 久久精品国产99久久6动漫欧 | 日韩中文字幕视频在线观看 | 国产精品资源网站在线观看 | 日韩欧美中文在线 | 夜夜春夜夜爽久久 | 国产a一级毛片午夜剧场14 | 四虎影视在线影院在线观看 | 香蕉色香蕉在线视频 | 一区二区三区鲁丝不卡麻豆 | 日韩一区二区三区免费 | 日韩一区精品 | 7777精品久久久大香线蕉 | 亚洲精品一区二区三区四区 | 亚欧精品一区二区三区四区 | 欧美13一16sex 性 | 五月天婷婷在线视频 | 久久er热这里只有精品免费 | 日本a视频在线观看 | 欧美一级成人一区二区三区 | 日本老乱video | 波多结衣一区二区三区 | 国产亚洲欧美日韩在线看片 | 国产一区二区高清在线 | 久久ww精品w免费人成 | 成人国产精品毛片 | 久草在线观看福利 | 中文字幕亚洲综合精品一区 | 精品国产综合成人亚洲区 | 色偷偷91久久综合噜噜噜 | 99热这里只有精品国产在热久久 | 亚洲欧美色图片 | 国产成人h综合亚洲欧美在线 | 爱操视频在线观看 | 亚洲一级毛片在线观 | 欧美日韩中文在线观看 | www.黄色片网站|