java多线程找素数实例
package ltb20180106;
public class FindPrime implements Runnable{
private int prime;
private int q;
private int w;
public FindPrime(int nn,int mm) {
q=nn;
w=mm;
}
public void run() {
getFindPrime(q,w);
}
public synchronized void getFindPrime(int min,int max) {
int k=max;
int j=min;
if(max<min) {
System.out.println("最大值不能小于最小值,请重新输入!");
}else if(max<=0||min<0) {
System.out.println("输入值不能是负数,或者最大值不能是零.");
}
for(int i=k;i>j;i--) {
if(i==1) { //1不是素数
continue;
}
prime=i%2;//去掉偶数
if(prime==0&&i>3) {
continue;
}
prime=i%3;//去掉整除3的数,但是要大于7
if(prime==0&&i>7) {
continue;
}
prime=i%5;//去掉整除5的数,但是要大于7
if(prime==0&&i>7) {
continue;
}
prime=i%7;//去掉整除7的数,,但是要大于7
if(prime==0&&i>7) {
continue;
}
System.out.println("["+Thread.currentThread().getName()+"]"+"素数:"+i+"["+prime+"]");
}
}
public static void main(String[] args) {
Thread t1=new Thread(new FindPrime(0,1000));
t1.start();
Thread t2=new Thread(new FindPrime(1001,2000));
t2.start();
Thread t3=new Thread(new FindPrime(2001,3000));
t3.start();
}
}
java多线程找素数实例的更多相关文章
- java多线程(内附实例:窗口售票问题、人和叉子的问题)
java多线程的开发有两种方法: (1)实现Runnable接口: (2)继承Thread类: 区别: (1)由于java中一个类只能继承一个父类,但是可以实现多个接口,所以实现Runnable接口比 ...
- java实现找素数
** 找素数** 素数就是不能再进行等分的整数.比如:7,11.而9不是素数,因为它可以平分为3等份.一般认为最小的素数是2,接着是3,5,- 请问,第100002(十万零二)个素数是多少? 请注意: ...
- java多线程的编程实例
java中可有两种方式实现多线程: 一种是继承Thread类: 一种是实现Runnable接口: Thread类 是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的ru ...
- java语言 打印素数实例
//根据定义判断素数---循环n-1次,当n很大时循环n次 public static void main(String[] args) { // TODO Auto-generated ...
- Java多线程-实例解析
Java多线程实例 3种实现方法Java中的多线程有三种实现方式:1.继承Thread类,重写run方法.Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯 ...
- java多线程编程实例
[转]这篇文章主要介绍了java多线程编程实例,分享了几则多线程的实例代码,具有一定参考价值,加深多线程编程的理解还是很有帮助的,需要的朋友可以参考下. 1.三个售票窗口同时出售20张票程序分析: ...
- 编写Java程序,实现多线程操作同一个实例变量的操作会引发多线程并发的安全问题。
查看本章节 查看作业目录 需求说明: 多线程操作同一个实例变量的操作会引发多线程并发的安全问题.现有 3 个线程代表 3 只猴子,对类中的一个整型变量 count(代表花的总数,共 20 朵花)进行操 ...
- Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap
概要 本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍.内容包括:ConcurrentSkipListMap介绍ConcurrentSki ...
- JAVA多线程和并发基础面试问答(转载)
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...
随机推荐
- ECONOMETRICS CHAPTER1
♣回归一词的来历 回归到中等,子辈较父辈的身高回归到中等. ♣回归的现代含义 研究一个因变量对解释变量的依赖关系.通过解释变量来估计和预测因变量. ♣回归分析的结果不一定意味着因果关系,必须诉诸理论思 ...
- gdb debug
http://www.cnblogs.com/life2refuel/p/5396538.html
- C#LinQ语法
Unity开发VR之Vuforia 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...
- xdoj 1067组合数学+动态规划 (一个题断断续续想了半年 233)
题目分析 : (8 4) 可以由(7 4),(6,4),( 4,4) 基础上转化 意味着一个新加入的元素可以按照它加入的方式分类,从而实现动态规划 核心:加入方式 新加入的元素构成转换环的元素个数(n ...
- vim 介绍安装 复制 剪切 粘贴
1. vim 产生:对于linux 文件的编辑,最初是vi,然后对于其功能的扩展,就产生了vim vim 的安装 yum install vim 2.光标的移动 用得最多的就是方向键上的 上下左右,和 ...
- i = i ++;的分解
步骤分解: package wrong; public class ShortTest { public static void main(String args[]) { /* * i = i ++ ...
- Go Example--限速
package main import ( "fmt" "time" ) func main() { requests := make(chan int, 5) ...
- Go Example--通道遍历
package main import ( "fmt" ) func main() { queue := make(chan string, 2) queue <- &quo ...
- LeetCode - Find Duplicate Subtrees
Given a binary tree, return all duplicate subtrees. For each kind of duplicate subtrees, you only ne ...
- 【分布式事务】阿里fescar
一.什么是Fescar FESCAR(Fast & Easy Commit And Rollback) 是一个用于微服务架构的分布式事务解决方案,它的特点是高性能且易于使用,旨在实现简单并快速 ...