开两个线程,第一个线程求2-100000间素数的个数,第二个线程求100000-200000间素数的个数
package text;
public class test21 {
public static void main(String[] args) {
Mycount mc=new Mycount();
Yourcount yc=new Yourcount();
Thread t1=new Thread(mc);
Thread t2=new Thread(yc);
t1.setName("线程1");
t2.setName("线程2");
t1.start();
t2.start();
}
}
class Mycount implements Runnable{
Object obj=new Object();
int num=0;
@Override
public void run() {
while(true) {
synchronized(obj) {
for(int i=2;i<=100000;i++) {
int a=0;
for(int j=2;j<i;j++) {
if(i%j==0) {
a++;
}
}
if(a==0) {
num++;
}
}
System.out.println(Thread.currentThread().getName()+"..."+num);
break;
}
}
}
}
class Yourcount implements Runnable{
Object obj=new Object();
int num=0;
@Override
public void run() {
while(true) {
synchronized(obj) {
for(int i=100000;i<=200000;i++) {
int a=0;
for(int j=2;j<i;j++) {
if(i%j==0) {
a++;
}
}
if(a==0) {
num++;
}
}
System.out.println(Thread.currentThread().getName()+"..."+num);
break;
}
}
}
}