第十五周Java作业-1线程同步机制
来源:互联网 发布:1,1,2,3,5,8递归算法 编辑:程序博客网 时间:2024/05/18 02:13
public class Example { /** 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,, 每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞, 用随机值对应的字符串表示人名,打印输出每次通过山洞的人名。 提示:利用线程同步机制,过山洞用一条输出语句表示,该输出语句打印输出当前过山洞 的人名,每个人过山洞对应一个线程,哪个线程执行这条输出语句,就表示哪个人过 山洞。 */ public static void main(String[] args) { //实例化山洞 Shandong shandong = new Shandong(); //创建10个线程 Thread thread1 = new Thread(shandong, "1"); Thread thread2 = new Thread(shandong, "2"); Thread thread3 = new Thread(shandong, "3"); Thread thread4 = new Thread(shandong, "4"); Thread thread5 = new Thread(shandong, "5"); Thread thread6 = new Thread(shandong, "6"); Thread thread7 = new Thread(shandong, "7"); Thread thread8 = new Thread(shandong, "8"); Thread thread9 = new Thread(shandong, "9"); Thread thread10 = new Thread(shandong, "10"); thread1.start(); thread2.start(); thread3.start(); thread4.start(); thread5.start(); thread6.start(); thread7.start(); thread8.start(); thread9.start(); thread10.start(); }}//山洞class Shandong extends Thread{ @Override public void run() { //上锁 synchronized(this){ System.out.println(Thread.currentThread().getName()+"正在通过,请等待5s"); try { sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}
运行结果:
1正在通过,请等待2s
9正在通过,请等待2s
7正在通过,请等待2s
5正在通过,请等待2s
10正在通过,请等待2s
3正在通过,请等待2s
8正在通过,请等待2s
6正在通过,请等待2s
4正在通过,请等待2s
2正在通过,请等待2s
“`
阅读全文
0 0
- 第十五周Java作业-1线程同步机制
- 第十五周Java作业--线程
- 第十五周Java作业
- 第十五周Java作业
- 第十五周作业1
- 黑马程序员—java技术blog—第十五篇线程同步机制概述与简单应用
- 第十五周作业:Java多线程
- 12.6第十五周JAVA作业
- java线程同步机制
- Java线程新同步机制
- 第十五周作业Java集合框架-泛型
- 第十五周java作业 -猜数字
- java线程作业1
- java线程作业1
- 算法作业_25(2017.6.1第十五周)
- 第十五周作业 1.0
- 第十五周作业3
- 第十五周作业2
- Apache POI使用详解
- 火墙配置
- Oracle忘记system密码或system密码过期后怎么还原
- 软件测试学习笔记_软件测试充分性与测试停止准测
- win7 64位环境下 TensorFlow的安装
- 第十五周Java作业-1线程同步机制
- ECharts, PHP, MySQL, Ajax, JQuery 实现前后端数据可视化
- 表格边框你知多少
- django Ajax 请求报403
- UE4教程中的.AddDynamic(...)编译错误的问题
- jQuery继续学习
- ubuntu 编译ActiveMQ-CPP
- PAT刷题——写在前面
- luoguP1613 跑路