자바 다 중 스 레 드 시 뮬 레이 션 거북이 토끼 달리기 실현
3149 단어 자바다 중 스 레 드거북이 와 토끼 경주
필 자 는 자바 다 중 스 레 드 기술 을 이용 하여 토끼 와 거북이 의 달리 기 를 두 스 레 드 방식 으로 모 의 하여 초보적인 효 과 를 거 두 었 다.
제목 은 다음 과 같다.
토끼:1 초 에 5 미 터 를 달리 고 10 미 터 를 달 릴 때마다 2 초 휴식 합 니 다.
거북이:1 초 에 3 미 터 를 뛰 고 쉬 지 않 습 니 다.
사용 도구
JDK1.8+IntelliJ IDEA 2020.1
코드
Race.java:(스 레 드 클래스,new 를 통 해 나 온 대상 의 서로 다른 스 레 드 이름,그리고 토끼 와 거북이 의 달리 기 를 각각 모 의 합 니 다)
package task;
import org.omg.Messaging.SYNC_WITH_TRANSPORT;
public class Race extends Thread {
private int mile=35;//
public int getMile() {
return mile;
}
public void setMile(int mile) {
this.mile = mile;
}
public void run(){
long time1=System.currentTimeMillis();//
if(getName().equals(" ")){
while(mile>0) {
if ((int)(System.currentTimeMillis()-time1) % 2000 == 0 && (int)(System.currentTimeMillis()-time1) != 0) {// 10 2 2
try {
System.out.println(" 2 ");
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if((int)(System.currentTimeMillis()-time1)%1000==0&& (int)(System.currentTimeMillis()-time1) != 0) {
try {
Thread.sleep(1000);
mile -= 5;
System.out.println(" "+(35-mile)+" ");//35-mile
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
System.out.println(" ");
}else if(getName().equals(" ")){
while(mile>0){
if((int)(System.currentTimeMillis()-time1)%1000==0&& (int)(System.currentTimeMillis()-time1) != 0) {
try {
Thread.sleep(1000);
mile -= 3;
if(mile<0){
mile=0;
}
System.out.println(" "+(35-mile)+" ");//35-mile
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
System.out.println(" ");
}else{
}
}
}
테스트 클래스 demoo.java:(스 레 드 우선 순 위 를 설정 하여 거북이 가 먼저 달 리 는 것 을 실현 합 니 다.그렇지 않 으 면 스 레 드 실행 순 서 를 제어 할 수 없습니다!!)
package task;
public class demoo {
public static void main(String[] args) {
Thread rabbit=new Race();
rabbit.setName(" ");
Thread turtle=new Race();
turtle.setName(" ");
turtle.setPriority(Thread.MAX_PRIORITY);
rabbit.setPriority(Thread.MIN_PRIORITY);
turtle.start();
rabbit.start();
}
}
테스트 결과:이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.