1.使用多线程,模拟龟兔赛跑的场景。
按照以往的故事经验,正确的故事逻辑顺序当然是因为兔子不把乌龟放在眼里,松懈了最终输了比赛。我的设定也是如此,假定乌龟每秒跑五米(是有点快但为了线程的运行速度来看还是写快点)兔子的速度为每秒十米。但是兔子在跑到一半休息了一点五秒。
代码如下:
public class ThreadTest1 implements Runnable{
public void run(){
try {
for(int i = 1;i<=100;i= i+5){
System.out.println("乌龟跑了"+i+"米");
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public class ThreadTest2 implements Runnable{
public void run(){
try {
for(int j = 1;j<=100;j=j+10){
System.out.println("兔子跑了"+j+"米");
Thread.sleep(1000);
if(j==51){
Thread.sleep(15000);
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
import javax.naming.Name;
public class ThreadMain {
static int a = 200;
public static void main(String[] args) {
ThreadTest1 threadTest1 = new ThreadTest1();
ThreadTest2 threadTest2 = new ThreadTest2();
Thread thread1 = new Thread(threadTest1);
Thread thread2 = new Thread(threadTest2);
thread1.start();
thread2.start();
}
}
2、编写一个有两个线程的程序,第一个线程用来计算2~100000之间的素数的个数,第二个线程用来计算100000~200000之间的素数的个数,最后输出结果。
思路:确定一个数为素数,他只能将本身和1整除,即声明一个变量,写两个循坏嵌套,外面的循坏写数的范围,里面的循坏写除数,每当数能将它的除数整除,变量加1,如果最后变量的值为2即确定此数为素数
public class ThreadTest1 implements Runnable{
public void run(){
for(int i=2