亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java使用多線程找出最大隨機(jī)數(shù)

 更新時(shí)間:2020年07月20日 09:52:12   作者:ZKeeer  
這篇文章主要為大家詳細(xì)介紹了java使用多線程找出最大隨機(jī)數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java用多線程找出最大隨機(jī)數(shù)的具體代碼,供大家參考,具體內(nèi)容如下

問題: 系統(tǒng)隨機(jī)生成 10000 個(gè)數(shù),構(gòu)造 5 個(gè)線程并利用它們的 Join 方法計(jì)算這些隨機(jī)數(shù)的最大值。

思路:

1)、定義一個(gè)全局變量AllMax來記錄在最大值

2)、自定義myThread類繼承自Thread,重寫run函數(shù)。

3)、Run函數(shù),循環(huán)兩千次,每次產(chǎn)生一個(gè)10000以內(nèi)的隨機(jī)數(shù),與AllMax進(jìn)行比較,若大于AllMax,則立即將AllMax更新。

4)、實(shí)例化MyThread,創(chuàng)建五個(gè)線程,同步執(zhí)行。使用jion函數(shù),等各線程執(zhí)行完,則輸出AllMax

public class four2 {
 static long AllMax=-1;
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 MyThr t1=new MyThr();
 MyThr t2=new MyThr();
 MyThr t3=new MyThr();
 MyThr t4=new MyThr();
 MyThr t5=new MyThr();
 t1.start();
 t2.start();
 t3.start();
 t4.start();
 t5.start();
 
 try {
  t1.join();
  t2.join();
  t3.join();
  t4.join();
  t5.join();
 } catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 System.out.println("10000個(gè)數(shù)中的最大值為:"+AllMax);
 }
 
 public static class MyThr extends Thread{
 public void run(){
  long rand;
  for(int i=1;i<=2000;i++){
  rand=(long)(Math.random()*100000)%100000;
  //System.out.println(rand);
  if(rand>AllMax){
   AllMax=rand;
  }
  }
 }
 } 
}

--------------后話------------------

按照平時(shí)用的選擇最大隨機(jī)數(shù)的方法和多線程方法比較,所用時(shí)間還是普通方法快。

以下是測(cè)試對(duì)比圖:

1.傳統(tǒng)方法:

2.多線程方法所用時(shí)間:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Java的Spring框架中bean的注入集合

    詳解Java的Spring框架中bean的注入集合

    這篇文章主要介紹了詳解Java的Spring框架中bean的注入集合,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • MyBatisPlus自定義SQL的實(shí)現(xiàn)

    MyBatisPlus自定義SQL的實(shí)現(xiàn)

    MyBatisPlus提供了自定義SQL功能,允許開發(fā)者在Mapper接口中定義方法,并通過XML文件或注解編寫SQL語句,本文詳解了如何在MP中使用自定義SQL,感興趣的可以了解一下
    2024-09-09
  • PowerJob的UserService工作流程源碼解讀

    PowerJob的UserService工作流程源碼解讀

    這篇文章主要介紹了PowerJob的UserService工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • java線程間通信的通俗解釋及代碼示例

    java線程間通信的通俗解釋及代碼示例

    這篇文章主要介紹了java線程間通信的通俗解釋,介紹了線程通信中的幾個(gè)相關(guān)概念,然后分享了線程通信的實(shí)現(xiàn)方式及代碼示例,具有一定參考價(jià)值 ,需要的朋友可以了解下。
    2017-11-11
  • IDEA創(chuàng)建方法時(shí)如何快速添加注釋

    IDEA創(chuàng)建方法時(shí)如何快速添加注釋

    這篇文章主要介紹了IDEA創(chuàng)建方法時(shí)如何快速添加注釋問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作

    SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作

    驗(yàn)證碼登錄是非常常見的一種登錄方式,能夠簡(jiǎn)化用戶登錄的過程,本文主要介紹了SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • 為什么Java開發(fā)需要配置環(huán)境變量

    為什么Java開發(fā)需要配置環(huán)境變量

    這篇文章主要介紹了為什么Java開發(fā)需要配置環(huán)境變量,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-08-08
  • Java并發(fā) CompletableFuture異步編程的實(shí)現(xiàn)

    Java并發(fā) CompletableFuture異步編程的實(shí)現(xiàn)

    這篇文章主要介紹了Java并發(fā) CompletableFuture異步編程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • JDK的具體安裝步驟(帶圖帶解釋巨詳細(xì))

    JDK的具體安裝步驟(帶圖帶解釋巨詳細(xì))

    Java是一種廣泛使用的編程語言,許多應(yīng)用程序和系統(tǒng)都依賴于它,如果您想進(jìn)行Java編程或運(yùn)行Java應(yīng)用程序,首先需要安裝Java開發(fā)工具包(JDK),這篇文章主要給大家介紹了關(guān)于JDK具體安裝步驟的相關(guān)資料,文中介紹的方法帶圖帶解釋巨詳細(xì),需要的朋友可以參考下
    2024-05-05
  • SpringBoot與單元測(cè)試JUnit的結(jié)合操作

    SpringBoot與單元測(cè)試JUnit的結(jié)合操作

    這篇文章主要介紹了SpringBoot與單元測(cè)試JUnit的結(jié)合操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10

最新評(píng)論