最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 多線程傳值的四種方法

 更新時(shí)間:2020年09月11日 15:20:16   作者:sunjs  
這篇文章主要介紹了Java 多線程傳值的四種方法,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下

其實(shí)大家都知道多線程傳值有三種方式:

1:通過(guò)構(gòu)造方法傳遞數(shù)據(jù)
2:通過(guò)變量和方法傳遞數(shù)據(jù)
3:通過(guò)回調(diào)函數(shù)傳遞數(shù)據(jù)

那么博主有個(gè)非常變態(tài)的需求,所以找出了第四種實(shí)現(xiàn)方式,先看效果圖:

動(dòng)態(tài)Cron4j調(diào)度器,我曾經(jīng)發(fā)過(guò)類似的文章,可以去搜索一下.

點(diǎn)擊執(zhí)行走下邊的代碼,然后根據(jù)類名反編譯

public static void executeCron4j(String packageClass){
    try {
      Object taskObj = classNewInstance(packageClass);
      /** 只接受Runnable的定時(shí)器 **/
      if (taskObj instanceof Runnable) {
        Runnable task = (Runnable)taskObj;
        Thread t1 = new Thread(new Runnable() {
          public void run() {
            task.run();
          }
        });
        t1.start();
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

線程類:(注意:線程要和上邊設(shè)置的包名一致)

public void run() {
  TCron4j cron4j = TCron4j.dao.findByClass(this.getClass().getName());//根據(jù)包名反編譯,然后查詢數(shù)據(jù)庫(kù)
}

現(xiàn)在博主的需求是:有可能在同一個(gè)線程類執(zhí)行不一樣的程序。

上邊兩個(gè)紅框中的cron4j調(diào)度器使用的是一個(gè),根據(jù)參數(shù)不同來(lái)執(zhí)行的。如果我點(diǎn)擊后邊的手動(dòng)執(zhí)行一次,按照我上邊給出的java代碼是無(wú)法實(shí)現(xiàn)的。

看下邊的新的代碼:

public static void executeCron4j(String packageClass){
    try {
      Object taskObj = classNewInstance(packageClass);
      /** 只接受Runnable的定時(shí)器 **/
      if (taskObj instanceof Runnable) {
        Runnable task = (Runnable)taskObj;
        Thread t1 = new Thread(new Runnable() {
          public void run() {
            task.run();
          }
        });
        t1.setName("uuid");//這個(gè)是線程的名字
        t1.start();
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

從上邊的代碼可以看出,第四種傳值方式是通過(guò)設(shè)置線程的名字來(lái)操作的。

這個(gè)名字你可以傳一個(gè)id,然后去數(shù)據(jù)庫(kù)查詢更多的參數(shù)。

public void run() {
  TCron4j cron4j = TCron4j.dao.findByUUID(Thread.currentThread().getName());//根據(jù)線程名字查詢數(shù)據(jù)庫(kù)
}

這種方式完美的解決了博主的難題?,F(xiàn)在共享出來(lái)分享給大家?。?!

以上就是Java 多線程傳值的四種方法的詳細(xì)內(nèi)容,更多關(guān)于Java 多線程傳值的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何從Java環(huán)境中調(diào)用GoLang函數(shù)

    如何從Java環(huán)境中調(diào)用GoLang函數(shù)

    Go,常被稱為GoLang,Go語(yǔ)言憑借其豐富的標(biāo)準(zhǔn)庫(kù),以及 goroutines和 channels等獨(dú)特特性,在開(kāi)發(fā)可擴(kuò)展且高效的程序方面展現(xiàn)了顯著優(yōu)勢(shì),許多開(kāi)發(fā)者傾向于將Go與其他編程語(yǔ)言結(jié)合使用,在本文中,我們將深入探討如何從Java環(huán)境中調(diào)用GoLang函數(shù),以實(shí)現(xiàn)兩種語(yǔ)言的無(wú)縫集成
    2025-01-01
  • Rabbit消息重試機(jī)制問(wèn)題記錄

    Rabbit消息重試機(jī)制問(wèn)題記錄

    消息重試機(jī)制就是在消息處理失敗之后重新發(fā)送,主要時(shí)為了解決消息發(fā)送過(guò)程可能會(huì)出現(xiàn)的問(wèn)題,例如 網(wǎng)絡(luò)故障、服務(wù)臨時(shí)不可用 等,這篇文章主要介紹了Rabbit消息重試機(jī)制問(wèn)題記錄,需要的朋友可以參考下
    2024-08-08
  • spring的TransactionalEventListener事務(wù)感知源碼解析

    spring的TransactionalEventListener事務(wù)感知源碼解析

    這篇文章主要為大家介紹了spring的TransactionalEventListener事務(wù)感知源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java如何使用jar命令打包

    Java如何使用jar命令打包

    把多個(gè)文件打包成一個(gè)壓縮包——這個(gè)壓縮包和WinZip的壓縮格式是一樣的,區(qū)別在于jar壓縮的文件默認(rèn)多一個(gè)META-INF的文件夾,該文件夾里包含一個(gè)MANIFEST.MF的文件,本文給大家介紹Java如何使用jar命令打包,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • Java 回調(diào)函數(shù)深入理解

    Java 回調(diào)函數(shù)深入理解

    這篇文章主要介紹了 Java 回調(diào)函數(shù)深入理解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • spring mvc使用@InitBinder標(biāo)簽對(duì)表單數(shù)據(jù)綁定的方法

    spring mvc使用@InitBinder標(biāo)簽對(duì)表單數(shù)據(jù)綁定的方法

    這篇文章主要介紹了spring mvc使用@InitBinder標(biāo)簽對(duì)表單數(shù)據(jù)綁定的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • SpringBoot配置的加載流程詳細(xì)分析

    SpringBoot配置的加載流程詳細(xì)分析

    了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時(shí)也是驗(yàn)證了一個(gè)人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會(huì)的,這篇文章主要介紹了SpringBoot配置的加載流程
    2023-01-01
  • java如何執(zhí)行bat腳本,并監(jiān)控執(zhí)行結(jié)果

    java如何執(zhí)行bat腳本,并監(jiān)控執(zhí)行結(jié)果

    這篇文章主要介紹了java如何執(zhí)行bat腳本,并監(jiān)控執(zhí)行結(jié)果問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 深入了解Java設(shè)計(jì)模式之策略模式

    深入了解Java設(shè)計(jì)模式之策略模式

    策略模式屬于Java-設(shè)計(jì)模式中行為模式之一,該模式定義了一系列算法,并將每個(gè)算法封裝起來(lái),使它們可以相互替換。本文將通過(guò)示例詳細(xì)講解這一模式,需要的可以參考一下
    2022-09-09
  • java實(shí)現(xiàn)文件下載的兩種方式

    java實(shí)現(xiàn)文件下載的兩種方式

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)文件下載的兩種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評(píng)論

郴州市| 兴隆县| 云阳县| 中宁县| 漳浦县| 庄河市| 德安县| 乐山市| 临沭县| 泰安市| 潍坊市| 庆元县| 论坛| 同心县| 久治县| 和静县| 枣阳市| 荥阳市| 中超| 得荣县| 赤壁市| 汶上县| 蒙山县| 京山县| 鲜城| 边坝县| 拉萨市| 康保县| 八宿县| 栾川县| 丰县| 朔州市| 阿坝| 灵武市| 色达县| 吐鲁番市| 灵山县| 海伦市| 冷水江市| 富锦市| 治多县|