过山洞问题
来源:互联网 发布:天道编程txt下载 编辑:程序博客网 时间:2024/04/28 11:33
编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名。提示:利用线程同步机制,过山洞用一条输出语句表示,该输出语句打印输出当前过山洞的人名,每个人过山洞对应一个线程,哪个线程执行这条输出语句,就表示哪个人过山洞。
package test;public class pass{ public static void main(String[] args) { // TODO Auto-generated method stub //创建一个山洞 Tunnel tul = new Tunnel(); //十个人过山洞 Thread p1 = new Thread(tul,"p1"); Thread p2 = new Thread(tul,"p2"); Thread p3 = new Thread(tul,"p3"); Thread p4 = new Thread(tul,"p4"); Thread p5 = new Thread(tul,"p5"); Thread p6 = new Thread(tul,"p6"); Thread p7 = new Thread(tul,"p7"); Thread p8 = new Thread(tul,"p8"); Thread p9 = new Thread(tul,"p9"); Thread p10 = new Thread(tul,"p10"); p1.start(); p2.start(); p3.start(); p4.start(); p5.start(); p6.start(); p7.start(); p8.start(); p9.start(); p10.start(); }}class Tunnel implements Runnable{ private int num = 0; //override public void run(){ Cross(); } public synchronized void Cross(){ try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } num++; System.out.println(Thread.currentThread().getName()+" 通过这个山洞"+" 这是第 "+num+"个"); }}
阅读全文
0 0
- 过山洞问题
- 过山洞
- 过山洞
- Java 十人过山洞
- 过山洞(多线程)
- 线程--十人过山洞
- 多线程——过山洞
- java任务--过山洞多线程
- Java练习题23 过山洞
- 山洞
- Java多线程模拟多人过山洞
- 线程同步(多人过山洞)
- 第九次作业,过山洞(线程)
- 多线程之模拟多人过山洞
- Java作业-十个人过山洞(多线程)
- 山洞口的脚步声
- bzoj2071:[POI2004]山洞迷宫
- TYVJ P1375 山洞历险
- git学习笔记2-工作区和暂存区
- 二叉树、二叉排序树(二叉查找树)、平衡二叉树
- 1.jdk,jre,jvm区别
- 欢迎使用CSDN-markdown编辑器
- 关于InstallMate打包软件
- 过山洞问题
- java常用正则表达式
- C++ explicit关键字
- 学习日志2017.12.06
- python3+PyQt5 数据库编程--增删改
- 有哪些关于前端开发技术(HTML、CSS 和 JavaScript 等)的值得推荐的书籍?
- mybatis 关联延时
- 现已推出 Android 8.1 和 Android Oreo Go 版本 —— 为所有人打造由 AI 驱动的全覆盖移动平台
- 使用Git指令备份hexo博客