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

java線程之join方法的使用介紹

 更新時間:2013年05月02日 16:10:32   作者:  
本篇文章介紹了,java線程之join方法的使用分析,需要的朋友參考下

在上面的例子中多次使用到了Thread類的join方法。我想大家可能已經(jīng)猜出來join方法的功能是什么了。對,join方法的功能就是使異步執(zhí)行的線程變成同步執(zhí)行。也就是說,當(dāng)調(diào)用線程實例的start方法后,這個方法會立即返回,如果在調(diào)用start方法后后需要使用一個由這個線程計算得到的值,就必須使用join方法。如果不使用join方法,就不能保證當(dāng)執(zhí)行到start方法后面的某條語句時,這個線程一定會執(zhí)行完。而使用join方法后,直到這個線程退出,程序才會往下執(zhí)行。
下面的代碼演示了join的用法。

復(fù)制代碼 代碼如下:

package mythread;

 public class JoinThread extends Thread
 {
     public static volatile int n = 0;

     public void run()
     {
         for (int i = 0; i < 10; i++, n++)
             try
             {
                 sleep(3);  // 為了使運行結(jié)果更隨機,延遲3毫秒
             }
             catch (Exception e)
             {
             }                                     
     }
     public static void main(String[] args) throws Exception
     {
         Thread threads[] = new Thread[100];
         for (int i = 0; i < threads.length; i++)  // 建立100個線程
             threads[i] = new JoinThread();
         for (int i = 0; i < threads.length; i++)   // 運行剛才建立的100個線程
             threads[i].start();
         if (args.length > 0) 
             for (int i = 0; i < threads.length; i++)   // 100個線程都執(zhí)行完后繼續(xù)
                 threads[i].join();
         System.out.println("n=" + JoinThread.n);
     }
 }

在例程2-8中建立了100個線程,每個線程使靜態(tài)變量n增加10.如果在這100個線程都執(zhí)行完后輸出n,這個n值應(yīng)該是1000.

    1.  測試1

    使用如下的命令運行上面程序:

復(fù)制代碼 代碼如下:

1 java mythread.JoinThread

程序的運行結(jié)果如下:
復(fù)制代碼 代碼如下:

1 n=442

這個運行結(jié)果可能在不同的運行環(huán)境下有一些差異,但一般n不會等于1000.從上面的結(jié)果可以肯定,這100個線程并未都執(zhí)行完就將n輸出了。

    2.  測試2

    使用如下的命令運行上面的代碼:

    在上面的命令行中有一個參數(shù)join,其實在命令行中可以使用任何參數(shù),只要有一個參數(shù)就可以,這里使用join,只是為了表明要使用join方法使這100個線程同步執(zhí)行。

    程序的運行結(jié)果如下:

復(fù)制代碼 代碼如下:

1 n=1000

無論在什么樣的運行環(huán)境下運行上面的命令,都會得到相同的結(jié)果:n=1000.這充分說明了這100個線程肯定是都執(zhí)行完了,因此,n一定會等于1000。

相關(guān)文章

  • java編譯時指定classpath的實現(xiàn)方法

    java編譯時指定classpath的實現(xiàn)方法

    在Java編程中,classpath是用于指定Java虛擬機在運行時查找類文件的路徑,本文主要介紹了java編譯時指定classpath的實現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Spring boot+VUE實現(xiàn)token驗證的示例代碼

    Spring boot+VUE實現(xiàn)token驗證的示例代碼

    本文詳細介紹了使用Vue和SpringBoot實現(xiàn)token認(rèn)證的方法,包括前后端交互流程、后端依賴導(dǎo)入、token工具類、攔截器、跨域處理、前端路由守衛(wèi)、請求攔截器等內(nèi)容,具有一定的參考價值,感興趣的可以了解一下
    2024-10-10
  • IDEA運行SpringBoot項目的超詳細步驟截圖

    IDEA運行SpringBoot項目的超詳細步驟截圖

    在當(dāng)前的開發(fā)中Spring Boot開發(fā)框架已經(jīng)成為主流,下面這篇文章主要給大家介紹了關(guān)于IDEA運行SpringBoot項目的超詳細步驟截圖,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • Spring Boot實戰(zhàn)之netty-socketio實現(xiàn)簡單聊天室(給指定用戶推送消息)

    Spring Boot實戰(zhàn)之netty-socketio實現(xiàn)簡單聊天室(給指定用戶推送消息)

    本篇文章主要介紹了Spring Boot實戰(zhàn)之netty-socketio實現(xiàn)簡單聊天室(給指定用戶推送消息),具有一定的參考價值,有興趣的可以了解一下。
    2017-03-03
  • mybatis的Configuration詳解

    mybatis的Configuration詳解

    這篇文章主要介紹了mybatis的Configuration詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 在spring中使用自定義注解注冊監(jiān)聽器的方法

    在spring中使用自定義注解注冊監(jiān)聽器的方法

    本篇文章主要介紹了在spring中使用自定義注解注冊監(jiān)聽器的方法,本文就是在分析監(jiān)聽器回調(diào)原理的基礎(chǔ)上,在spring環(huán)境中使用自定義的注解實現(xiàn)一個監(jiān)聽器。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • SpringBoot mybatis 實現(xiàn)多級樹形菜單的示例代碼

    SpringBoot mybatis 實現(xiàn)多級樹形菜單的示例代碼

    這篇文章主要介紹了SpringBoot mybatis 實現(xiàn)多級樹形菜單的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • Mybatis如何通過出入Map參數(shù)作為條件進行查詢

    Mybatis如何通過出入Map參數(shù)作為條件進行查詢

    這篇文章主要介紹了Mybatis如何通過出入Map參數(shù)作為條件進行查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • springboot 參數(shù)格式校驗操作

    springboot 參數(shù)格式校驗操作

    這篇文章主要介紹了springboot 參數(shù)格式校驗操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot+kaptcha實現(xiàn)驗證碼花式玩法詳解

    SpringBoot+kaptcha實現(xiàn)驗證碼花式玩法詳解

    這篇文章主要想和大家聊聊kaptcha的用法,畢竟這個已經(jīng)有16年歷史的玩意還在有人用,說明它的功能還是相當(dāng)強大的,感興趣的小伙伴可以了解一下
    2022-05-05

最新評論

昌邑市| 肇源县| 同江市| 遵义市| 隆子县| 云浮市| 且末县| 阿城市| 咸丰县| 大理市| 名山县| 济阳县| 贵南县| 杭锦后旗| 平泉县| 萍乡市| 静乐县| 霍城县| 桂东县| 五常市| 霸州市| 保定市| 隆安县| 迁安市| 本溪| 西峡县| 荥阳市| 云林县| 巴南区| 金堂县| 香港| 邓州市| 同心县| 巫山县| 大悟县| 西乌珠穆沁旗| 灵丘县| 临沧市| 历史| 古丈县| 辽宁省|