千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 創(chuàng)建線程有幾種不同的方式?你喜歡哪一種?為什么?

創(chuàng)建線程有幾種不同的方式?你喜歡哪一種?為什么?

來源:千鋒教育
發(fā)布人:qyf
時間: 2022-06-07 16:50:00 1654591800

java培訓(xùn)

  創(chuàng)建線程有幾種不同的方式?

  1. 集成Thread類,重寫run方法。一個線程(對象)只能夠執(zhí)行一次start()

  2. 實現(xiàn)Runnable接口,并重寫里面的run方法。需要再次用Thread類包裝后才能調(diào)用start方法。

  3. 實現(xiàn)callable接口,重寫call方法,有返回值,并結(jié)合Future實現(xiàn)

  4. 使用實現(xiàn)了Executor接口的ThreadPoolExecutor來創(chuàng)建線程池

  你喜歡哪一種?為什么?

  一般情況下,常見的是第二種。

  Runnable接口有如下好處:

  1. 避免點繼承的局限,一個類可以繼承多個接口。

  2. 適合于資源的共享

  我們聊聊看

  ①繼承Thread類(真正意義上的線程類),是Runnable接口的實現(xiàn)。

 ?、趯崿F(xiàn)Runnable接口,并重寫里面的run方法。

 ?、凼褂肊xecutor框架創(chuàng)建線程池。Executor框架是juc里提供的線程池的實現(xiàn)。

  調(diào)用線程的start():啟動此線程;調(diào)用相應(yīng)的run()方法

  繼承于Thread類的線程類,可以直接調(diào)用start方法啟動線程(使用static也可以實現(xiàn)資源共享).一個線程(對象)只能夠執(zhí)行一次start(),而且不能通過Thread實現(xiàn)類對象的run()去啟動一個線程。

  實現(xiàn)Runnable接口的類需要再次用Thread類包裝后才能調(diào)用start方法。(三個Thread對象包裝一個類對象,就實現(xiàn)了資源共享)。

  線程的使用的話,注意鎖和同步的使用。(多線程訪問共享資源容易出現(xiàn)線程安全問題)

  一般情況下,常見的是第二種。

  Runnable接口有如下好處:

 ?、俦苊恻c繼承的局限,一個類可以繼承多個接口。

  ②適合于資源的共享

  Thread的常用方法:

  1.start():啟動線程并執(zhí)行相應(yīng)的run()方法

  2.run():子線程要執(zhí)行的代碼放入run()方法中

  3.currentThread():靜態(tài)的,調(diào)取當(dāng)前的線程

  4.getName():獲取此線程的名字

  5.setName():設(shè)置此線程的名字

  6.yield():調(diào)用此方法的線程釋放當(dāng)前CPU的執(zhí)行權(quán)(很可能自己再次搶到資源)

  7.join():在A線程中調(diào)用B線程的join()方法,表示:當(dāng)執(zhí)行到此方法,A線程停止執(zhí)行,直至B線程執(zhí)行完畢,

  A線程再接著join()之后的代碼執(zhí)行

  8.isAlive():判斷當(dāng)前線程是否還存活

  9.sleep(long l):顯式的讓當(dāng)前線程睡眠l毫秒 (只能捕獲異常,因為父類run方法沒有拋異常)

  10.線程通信(方法在Object類中):wait() notify() notifyAll()

  設(shè)置線程的優(yōu)先級(非絕對,只是相對幾率大些)

  getPriority():返回線程優(yōu)先值

  setPriority(int newPriority):改變線程的優(yōu)先級

  更多關(guān)于“Java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗,課程大綱更科學(xué)更專業(yè),有針對零基礎(chǔ)的就業(yè)班,有針對想提升技術(shù)的好程序員班,高品質(zhì)課程助理你實現(xiàn)java程序員夢想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
抖音小店怎么做代銷

抖音已經(jīng)成為了一個非常受歡迎的短視頻應(yīng)用程序,在其中許多用戶都精心打造了自己的小店,用于銷售各種各樣的商品,獲取額外的收入。然而,要想...詳情>>

2023-10-08 15:28:41
怎樣開抖音小店帶貨賺錢

隨著直播帶貨的火熱,越來越多的人開始嘗試通過抖音小店來開展帶貨業(yè)務(wù)。抖音小店是抖音直播帶貨的配套,可以讓用戶在購買直播中產(chǎn)品時就實現(xiàn)購...詳情>>

2023-10-08 15:06:36
能不能幫我打開抖音小店店鋪呢怎么弄

抖音小店是近年來非?;鸨囊粋€網(wǎng)絡(luò)業(yè)務(wù),也是提供了很多商業(yè)機會的平臺。對于一個創(chuàng)業(yè)者而言,開設(shè)抖音小店是一個不錯的選擇。但是,許多小店...詳情>>

2023-10-08 15:01:21
藍v抖音小店怎么開通店鋪

藍v抖音小店是一個非常熱門的電商平臺,它可以讓賣家在抖音上開設(shè)自己的店鋪,從而出售自己的商品。隨著抖音的不斷發(fā)展壯大,越來越多的賣家希...詳情>>

2023-10-08 14:51:53
抖音小店怎么更改類目名稱

抖音小店是現(xiàn)在非?;馃岬囊环N網(wǎng)店形態(tài),許多小生意也從中獲得了收益。但是隨著經(jīng)營時間的增長,小店也需要對自己的類目名稱進行更改,因為這可...詳情>>

2023-10-08 14:46:50