编写多线程应用程序,模拟多个人通过一个山洞的模拟
来源:互联网 发布:linux下安装anaconda 编辑:程序博客网 时间:2024/05/02 00:00
编写多线程应用程序,模拟多个人通过一个山洞的模拟。
这个山洞每次只能通过一个人,每个人通过山洞的时间为5秒(sleep),
随机生成3个人,同时准备过此山洞,显示一下每次通过山洞人的姓名及年龄,
以及过洞开始时间和结束时间-(字符串时间格式:15时30分20秒150毫秒)。
过山洞的过程:
1)大路上走,可以同时多个人进行
2)经过山洞,只能同时一个人走
3)经过立交桥,可以同时多个人进行
这个山洞每次只能通过一个人,每个人通过山洞的时间为5秒(sleep),
随机生成3个人,同时准备过此山洞,显示一下每次通过山洞人的姓名及年龄,
以及过洞开始时间和结束时间-(字符串时间格式:15时30分20秒150毫秒)。
过山洞的过程:
1)大路上走,可以同时多个人进行
2)经过山洞,只能同时一个人走
3)经过立交桥,可以同时多个人进行
提示:根据提示知道洞里只能有一个人,所以所有人的开始时间和结束时间不能冲突。可使用synchronized关键字实现
public class Test1 {public static void main(String[] args) {demo();}private static void demo() {Person p1=new Person("王凯",18);Person p2=new Person("文华",18);Person p3=new Person("周华",18);ShanDong sd=new ShanDong("衡山");new Thread(new WalkTask(p1,sd)).start();new Thread(new WalkTask(p2,sd)).start();new Thread(new WalkTask(p3,sd)).start();}}class WalkTask implements Runnable{Person person;ShanDong sd;public WalkTask(Person person, ShanDong sd) {super();this.person = person;this.sd = sd;}@Overridepublic void run() {System.out.println("大路上走,可以同时多个人进行");System.out.println("大路上走,可以同时多个人进行");System.out.println("大路上走,可以同时多个人进行");this.walkshandong();System.out.println("经过立交桥,可以同时多个人进行");System.out.println("经过立交桥,可以同时多个人进行");System.out.println("经过立交桥,可以同时多个人进行");}private void walkshandong(){synchronized(this.sd){DateFormat df=new SimpleDateFormat("HH时mm分ss秒sss毫秒");System.out.println("经过山洞人的姓名:"+person.name+" 年龄:"+person.age);System.out.println("经过山洞人的开始时间:"+df.format(new Date()));try{Thread.sleep(5000);}catch(InterruptedException e){e.printStackTrace();}System.out.println("经过山洞人的结束时间:"+df.format(new Date()));}}}class Person{String name;int age;public Person(String name, int age) {super();this.name = name;this.age = age;}}class ShanDong{String name;public ShanDong(String name) {super();this.name = name;}}
0 0
- 编写多线程应用程序,模拟多个人通过一个山洞的模拟
- 编写多线程程序,模拟多个人通过一个山洞。
- 编写多线程程序,模拟多个人通过一个山洞
- 编写多线程程序,模拟多个人通过一个山洞。
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。
- 作业1 编写多线程程序,模拟多个人通过一个山洞。
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出
- java 编写多线程应用程序,模拟多个人通过独木桥的模拟。 线程问题
- 多线程---模拟多人通过山洞
- Java多线程模拟多人过山洞
- 多线程之模拟多人过山洞
- 一个模拟死锁的多线程
- lesson 10:线程 模拟山洞
- Java 实训5 编写一个窗体应用程序模拟交通信号灯
- C++有关char变量地址输出的问题
- 安卓简单技术-判断手机连接的是wifi还是数据流量
- C#中对象的销毁有三种方式Finalize,Dispose,GC。请大虾们描述三种方式的区别啊?/java中的析构函数
- ADO.NET之NULL值
- GetClipboardData函数
- 编写多线程应用程序,模拟多个人通过一个山洞的模拟
- android studio环境下生成jar
- CreateProcess函数
- Markdown 语法简明描述和速记
- python之metaclass+singleton(三)
- 改变button的文字和图片的位置
- 不知所云
- spring clould微服务元素
- EnumProcesses函数