求素数——多线程练习
生活随笔
收集整理的這篇文章主要介紹了
求素数——多线程练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
編寫一個有兩個線程的程序,第一個線程用來計算2~100000之間的素數的個數,
第二個線程用來計算100000~200000之間的素數的個數,最后輸出結果。
代碼實現:
?
package com.thread;public class SuShuDemo1 extends Thread{private long suCount = 0;public boolean flag = false;public long getSuCount() {return suCount;}@Overridepublic void run() {for (long i=2;i<=100000;i++){for (long j=2;j<=Math.sqrt(i);j++){if (i%j==0){flag=true;break;}}if (flag==false){this.suCount++;}flag=false;}System.out.println(Thread.currentThread().getName()+"素數一共有"+getSuCount()+"個");} }?
package com.thread;public class SuShuDemo2 implements Runnable {private long suShuCount2 = 0;public long getSuShuCount2() {return suShuCount2;}@Overridepublic void run() {for (long i =100000;i<=200000;i++){long j =0;for (j =2;j<=i;j++){if (i%j==0){break;}}if (i==j){this.suShuCount2++;}}System.out.println(Thread.currentThread().getName()+"素數一共有"+getSuShuCount2()+"個");} }
package com.thread;public class SuShuDemo1Test {public static void main(String[] args) {SuShuDemo1 suShuDemo1 = new SuShuDemo1();SuShuDemo2 suShuDemo2 = new SuShuDemo2();Thread thread = new Thread(suShuDemo2);suShuDemo1.start();thread.start();} }
運行結果:
?
Thread-0素數一共有9592個 Thread-1素數一共有8392個?
?
轉載于:https://www.cnblogs.com/zyx110/p/10837924.html
總結
以上是生活随笔為你收集整理的求素数——多线程练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN7 下安装 SQL Server
- 下一篇: react-router中的exact和