Java作业-十个人过山洞(多线程)
来源:互联网 发布:涂师傅数据恢复 编辑:程序博客网 时间:2024/06/09 20:27
目标效果:
代码:
import java.util.Random;/** * 编写多线程程序,模拟多个人通过一个山洞。 * 这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。 * 随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名。 * 提示:利用线程同步机制,过山洞用一条输出语句表示,该输出语句打印输出当前过山洞的人名, * 每个人过山洞对应一个线程,哪个线程执行这条输出语句,就表示哪个人过山洞。 * @author Vivinia * */public class AcrossCave {public static void main(String[] args) {for(int i=0;i<10;i++){People peo=new People(getRandomString(6));new Thread(peo).run();}}public static String getRandomString(int length) { //length表示生成字符串的长度 String base = "abcdefghijklmnopqrstuvwxyz"; Random random = new Random(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(base.length()); sb.append(base.charAt(number)); } return sb.toString(); } }class People implements Runnable{String name;public People(String name) {super();this.name = name;}@Overridepublic synchronized void run() {try {Thread.sleep(2000);} catch (Exception e) {e.printStackTrace();}finally {System.out.println(name+"通过了山洞。");}}}
阅读全文
0 0
- Java作业-十个人过山洞(多线程)
- 过山洞(多线程)
- java任务--过山洞多线程
- 第九次作业,过山洞(线程)
- Java多线程模拟多人过山洞
- Java 十人过山洞
- 多线程——过山洞
- Java练习题23 过山洞
- 作业1 编写多线程程序,模拟多个人通过一个山洞。
- 多线程之模拟多人过山洞
- 过山洞
- 过山洞
- 编写多线程程序,模拟多个人通过一个山洞。
- 编写多线程程序,模拟多个人通过一个山洞
- 编写多线程程序,模拟多个人通过一个山洞。
- 十个人过洞
- 过山洞问题
- 线程--十人过山洞
- liang-Barskey算法
- sublime各种报错 unexpected indent Vue的ESlint缩进问题
- hdoj-4970Killing Monsters(树状数组)
- 进程间的痛信2
- iphoneX面部识别带来的隐私问题
- Java作业-十个人过山洞(多线程)
- (c++)数据结构与算法之链表线性表的应用:银行叫号系统
- 装饰者设计模式
- Ipv4转发实验
- android 阻断seekbar的触摸事件
- 360私有云平台Elasticsearch服务初探
- intellij idea设置代码提示不区分大小写
- Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
- leetcode 414. Third Maximum Number 第三大数据