在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    java面試題整理《多線程篇》七

    Thread、Runable和Callable 三者區(qū)別?Thread 是一個抽象類,只能被繼承,而 Runable、Callable 是接口,需要實現(xiàn)接口中的方法。繼承 Thread 重寫run()方法,實現(xiàn)Runable接口需要實現(xiàn)run()方法,而Callable是需要實現(xiàn)call()方法。Thread 和 Runable 沒有返回值,Callable 有返回值,返回值可以被 Future 拿到。實現(xiàn) Runable 接口的類不能直接調用start()方法,需要 new 一個 Thread 并發(fā)該實現(xiàn)類放入 Thread,再通過新建的 Thread 實例來調用start()方法。實現(xiàn) Callable 接口的類需要借助 FutureTask (將該實現(xiàn)類放入其中),再將 FutureTask 實例放入 Thread,再通過新建的 Thread 實例來調用start()方法。獲取返回值只需要借助 FutureTask 實例調用get()方法即可!什么是 FutureTask?FutureTask 表示一個異步運算的任務。FutureTask 里面可以傳入一個Callable 的具體實現(xiàn)類,可以對這個異步運算的任務的結果進行等待獲取、判斷是否已經(jīng)完成、取消任務等操作。只有當運算完成的時候結果才能取回,如果運算尚未完成 get 方法將會阻塞。一個 FutureTask 對象可以對調用了 Callable 和 Runnable 的對象進行包裝,由于 FutureTask 也是Runnable 接口的實現(xiàn)類,所以 FutureTask 也可以放入線程池中。

    線程的 run()和 start()有什么區(qū)別?通過調用 Thread 類的 start()方法來啟動一個線程, 這時此線程是處于就緒狀態(tài), 并沒有運行。這時無需等待 run 方法體代碼執(zhí)行完畢,可以直接繼續(xù)執(zhí)行下面的代碼。

    方法 run()稱為線程體,它包含了要執(zhí)行的這個線程的內容,線程就進入了運行狀態(tài),開始運行 run 函數(shù)當中的代碼。 run 方法運行結束, 此線程終止。然后 CPU 再調度其它線程。

    run() 可以重復調用,而 start()只能調用一次。

    為什么我們調用 start() 方法時會執(zhí)行 run() 方法,為什么我們不能直接調用run() 方法?

    如果直接執(zhí)行 run() 方法,會把 run 方法當成一個 main 線程下的普通方法去執(zhí)行,并不會在某個線程中執(zhí)行它,所以這并不是多線程工作。調用 start 方法方可啟動線程并使線程進入就緒狀態(tài),而 run 方法只是 thread 的一個普通方法調用,還是在主線程里執(zhí)行。

    尚學堂給同學們帶來全新的Java300集課程啦!java零基礎小白自學Java必備優(yōu)質教程_手把手圖解學習Java,讓學習成為一種享受_嗶哩嗶哩_bilibili

    鄭重聲明:本文內容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年8月15日 21:58
    下一篇 2022年8月15日 21:58

    相關推薦

    • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應該怎么發(fā))

      對于微商朋友來說,朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營一個朋友圈,有的微商看起來逼格滿滿,實際效果也不錯;而有的卻動都不動就被屏蔽甚至拉黑…

      2022年11月27日
    • 西芹腰果的做法(西芹炒腰果)

      01 去除西芹的葉子以及表皮,切成菱形塊,將大蒜和生姜都準備好,蝦米放入到清水中清洗,去除表面的雜質。 02 在鍋里面加入適量的水,然后加入食用油以及鹽,將切好的西芹直接放入到其中…

      2022年11月25日
    • 白蘿卜的做法大全(白蘿卜的做法大全腌制糖醋)

      簡要回答 白蘿卜營養(yǎng)價值高,就算是生吃也很入口清脆,而且還有豐富的營養(yǎng)元素,不管是燉蒸炒還是做湯都很鮮香。 詳細內容 01 腌制爽脆的白蘿卜,可以買一小袋泡腳,放入切好的白蘿卜條,…

      2022年11月25日
    • 《寶可夢朱紫》夢特性怎么獲得?隱藏特性獲取方法推薦

      寶可夢朱紫里有很多寶可夢都是擁有夢特性會變強的寶可夢,很多玩家不知道夢特性怎么獲得,下面就給大家?guī)韺毧蓧糁熳想[藏特性獲取方法推薦,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 …

      2022年11月25日
    • 《寶可夢朱紫》奇魯莉安怎么進化?奇魯莉安進化方法分享

      寶可夢朱紫中的奇魯莉安要怎么進化呢?很多玩家都不知道,下面就給大家?guī)韺毧蓧糁熳掀骠斃虬策M化方法分享,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 奇魯莉安進化方法分享 奇魯莉安…

      2022年11月25日
    • 成都健康碼打不開顯示接口請求未知異常怎么辦(成都健康碼打不開顯示接口請求未知異常)

      成都這幾天的疫情也是備受關注,疫情期間各地出行都是需要查看健康碼的,不過今天卻有成都的小伙伴反饋健康碼無法打開的情況。成都健康碼打不開顯示接口請求未知異常怎么辦?由于健康碼無法打開…

      2022年11月24日
    • cpu性能天梯圖2022 AMD CPU天梯圖最新排行榜出爐

      用戶在DIY自己的主機時選擇CPU是非常關鍵的,CPU可以說是電腦的大腦,大家也都想追求好一點的CPU來使用,但型號太多了,大部分的用戶都不知道目前哪一款CPU比較好用,快來看看詳…

      2022年11月24日
    • 《寶可夢朱紫》暴飛龍怎么抓?暴飛龍獲得方法

      寶可夢朱紫暴飛龍位置在哪?在游戲中,很多玩家還不清楚暴飛龍具體要怎么樣獲得,其實獲得方法很簡單,暴飛龍直接是沒得抓的,需要玩家從寶貝龍進化得到,下面一起來看一下寶可夢朱紫暴飛龍獲得…

      2022年11月23日
    • 《寶可夢朱紫》布土撥怎么進化?布土撥進化方法介紹

      寶可夢朱紫中,不同的寶可夢有不同的進化方法,其中布土撥的進化方法是比較特殊的。很多玩家不知道寶可夢朱紫布土撥怎么進化,下面就帶來寶可夢朱紫布土撥進化方法介紹,一起來看看吧,希望能幫…

      2022年11月23日
    • 《寶可夢朱紫》薄荷怎么獲得?薄荷獲得方法

      寶可夢朱紫中薄荷有改變寶可夢的屬性或性格等效果,很多玩家想知道寶可夢朱紫薄荷怎么獲得,下面就帶來寶可夢朱紫薄荷獲得方法,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 薄荷獲得方法…

      2022年11月23日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息