过山洞 Java

题目描述

编写多线程应用程序,模拟三个人Tom,Peter,Bob过山洞:
1、这个山洞每次只能通过一个人,每个人通过山洞的时间为1秒

2、过山洞次序为:Tom,Peter,Bob

将下列代码补充完整:

public class Main{
    public static void main(String[] args) {
        Tunnel tul = new Tunnel();
        Thread tom = new Thread(tul,"Tom");
// 你的代码将嵌入这里

输出描述

Tom have Crossed the tunnel!This is 1th
Peter have Crossed the tunnel!This is 2th
Bob have Crossed the tunnel!This is 3th

Thread peter = new Thread(tul,"Peter");
		Thread bob = new Thread(tul,"Bob");
	
		tom.start();
		peter.start();
		bob.start();
	}
}
class Tunnel implements Runnable
{
	
	public void run()
	{
		for(int i = 1;i<=3;i++)
		{
			if(i == 1&&Thread.currentThread().getName().equals("Tom"))
			{
				System.out.println("Tom"+" have Crossed the tunnel!This is "+i+"th");
				i++;
			}
		    if(i == 2&&Thread.currentThread().getName().equals("Peter"))
			{
				System.out.println("Peter"+" have Crossed the tunnel!This is "+i+"th");
				i++;
			}
			if(i == 3&&Thread.currentThread().getName().equals("Bob"))
			{
				System.out.println("Bob have Crossed the tunnel!This is "+i+"th");
				i++;
			}
		}
			
	}
}
原文地址:https://www.cnblogs.com/Romantic-Chopin/p/12451249.html