⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prime.java

📁 使用多线程技术计算100000之间的所有素数的个数
💻 JAVA
字号:
/*
 * Prime.java
 *
 * Created on 2007年3月20日, 下午2:30
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package primethread;

/**
 *
 * @author 新
 */
public class Prime extends Thread {
    
    /** Creates a new instance of Prime */
    public Prime() {
    }
    //成员属性
    private int begin;//需要判别的第一个数
    private int end;  // 需要判别的最后一个数
    public  static int sum;// 素数个数
    //构造方法
    public Prime(int begin,int end){
        this.begin=begin;
        this.end=end;
        this.sum=0;
    }
    //判别一个整数是否素数的方法
    public boolean isPrime(int x){
        if(x==1)
            return false;
        else
            for(int y=2;y<=(x-1);y++)
                //如果x%y==0,说明X不是素数
                if(x%y==0)
                    return false;
        return true;
    }
    //启动线程的方法
    public void run(){
        synchronized (this){  //设置同步
        //设置初始值
        int i=begin;
        while(i<=end){
            //判断i是否素数
            if(isPrime(i)){
                String name=Thread.currentThread().getName();
                sum++;
                //如果是素数输出
                System.out.println("第"+sum+"个素数: "+i+"("+name+")");
            }
            i++;
            //随机睡眠
            try{
                Thread.currentThread().sleep((int)(Math.random()*0.1));
            }catch(Exception e){
                e.printStackTrace();
            }
         }
       }
    }    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -