运用java中的wait和notifyAll方法模拟玩家等待游戏进入场景
来源:互联网 发布:买手机淘宝注册账号 编辑:程序博客网 时间:2024/06/01 08:24
运用java中的wait和notifyAll方法模拟玩家等待游戏进入场景
package com.company;import java.util.Random;/** * 利用线程中的 wait() 和 notifyAll方法 来实现英雄联盟进入游戏场景 */public class ThreadTest implements Runnable{ private int count; private Random rand = new Random(); @Override public void run() { synchronized (this) { int a = rand.nextInt(6); try { Thread.sleep(a*1000); } catch (InterruptedException e) { e.printStackTrace(); } count++; if (count < 5) { try { System.out.println(Thread.currentThread().getName() + "就绪,等待其他英雄"); this.wait();//将当前线程 阻塞,放入线程等待池中。 } catch (InterruptedException e) { e.printStackTrace(); } } else { if (count == 5) { System.out.println(Thread.currentThread().getName() + "就绪,英雄到齐3秒后进入战场"); } for(int i = 1;i <= 3;i++){ System.out.println(i+"秒"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } this.notifyAll();//英雄都到齐 释放线程池中所有等待的线程 } System.out.println(Thread.currentThread().getName() + "进入游戏中"); } } public static void main (String arg []) { ThreadTest a = new ThreadTest(); Thread test = new Thread(a,"德玛西亚"); Thread test2 = new Thread(a,"盲僧"); Thread test3 = new Thread(a,"火男"); Thread test4 = new Thread(a,"蛇女"); Thread test5 = new Thread(a,"小丑"); test.start(); test2.start(); test3.start(); test4.start(); test5.start(); }}
阅读全文
0 0
- 运用java中的wait和notifyAll方法模拟玩家等待游戏进入场景
- java并发中的wait(),notify(),notifyAll()方法和Condition接口
- Java中的wait、notify、notifyall方法
- java的锁池和等待池wait notify notifyall
- Java多线程中的wait和notifyAll
- Java 中的 wait(), notify ()和 notifyAll ()
- java线程的中断(wait 和notifyall的运用)
- Java中的wait()方法与notify(),notifyAll()方法
- Java线程和多线程(二)——对象中的wait,notify以及notifyAll方法
- java的wait方法和notify还有notifyAll方法
- wait()、notify()和notifyAll()是 Object类 中的方法
- wait()、notify()和notifyAll()是 Object类 中的方法
- java wait()、notify()和notifyAll()
- 关于java中的synchronized、wait以及notify和notifyAll
- java notify()和notifyall()的区别&wait()方法的使用
- Java 同步(Synchronization),等待(wait)通知(notify, notifyall)
- Java线程中的wait, notify and notifyAll
- Java中的wait()与notify()/notifyAll()
- 带虚函数的菱形虚拟继承
- Android 基本常用控件ListView的简单应用
- STM32F1xx固件库级及部分资料下载
- Python资源汇集网站推荐:awesome-python
- Linux内存中的 buffer 和 cache
- 运用java中的wait和notifyAll方法模拟玩家等待游戏进入场景
- JAVA代码优化方法
- Linux 性能监控
- c++迭代器介绍
- 凛冬已至,然而我的颈椎还没有准备好 | 钛空舱世界保健日
- cmake常用指令-1 find_package与CMake如何查找链接库详解
- Nand Flash学习笔记0-浮栅的介绍
- 文章标题
- 选择排序