军队线程 *模拟作战双方的行为
来源:互联网 发布:大智慧如何导出数据 编辑:程序博客网 时间:2024/05/16 23:50
/*
*
*军队线程
*模拟作战双方的行为
*/
public class ArrayRunnable implements Runnable {
//保证了线程可以正确的读取其他线程写入的值
volatile boolean keepRunning=true;
@Override
public void run() {
while(keepRunning) {
//发动5连击
for(int i=0;i<5;i++) {
System.out.println(Thread.currentThread().getName()+"进攻对方【"+i+"】");
//让出处理器时间,
Thread.yield();
}
}
System.out.println(Thread.currentThread().getName()+"结束战斗");
}
}
package com.concurrent;
public class KeyPersionThread extends Thread {
public void run() {
System.out.println(Thread.currentThread().getName()+"开始了战斗");
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName()+"左突右杀,攻击随军");
}
System.out.println(Thread.currentThread().getName()+"结束了战斗");
}
}
package com.concurrent;
/*
* 这是
*/
public class stage extends Thread {
public void run() {
//实例化对象
ArrayRunnable arrayTaskOfSuiDynasty=new ArrayRunnable();
ArrayRunnable arrayTaskOfRevolt=new ArrayRunnable();
//使用Runnable接口创建线程对象
Thread arrayOfSuiDynasty=new Thread(arrayTaskOfSuiDynasty,"随军");
Thread arrayOfRevolt=new Thread(arrayTaskOfRevolt,"农民起义军");
//启动线程 军队开始作战
arrayOfSuiDynasty.start();
arrayOfRevolt.start();
// 舞台线程休眠
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
arrayTaskOfSuiDynasty.keepRunning=false;
arrayTaskOfRevolt.keepRunning=false;
//使其他线程等待当前线程终止join
try {
arrayOfRevolt.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("正当双方激战正酣,半路杀出个程咬金");
Thread mrcheng=new KeyPersionThread();
mrcheng.setName("程咬金");
System.out.println("程咬金的理想就是结束战争,让百姓安居乐业!");
//军队停止作战
arrayTaskOfRevolt.keepRunning=false;
arrayTaskOfSuiDynasty.keepRunning=false;
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
/*
*
* 历史大戏留给关键人物
*/
mrcheng.start();
//等待程咬金 完成历史使命
try {
mrcheng.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("战争结束,人民安居乐业,程先生积极实现了人生,为人民做出了贡献!");
}
public static void main(String[] args) {
new stage().start();
}
}
- 军队线程 *模拟作战双方的行为
- 转作战双方(上)
- 转作战双方(下)
- [jzoj4585]【NOIP2016模拟7.7】Robert 的军队
- 民族特性和军队作战思想
- 军队的级别与军队编制
- 越南军队的战斗力
- 这样的军队谁能敌?
- 最可怕的军队
- Robert 的军队
- 【JZOJ4585】Robert 的军队
- Robert 的军队
- 【jzoj4585】【Robert 的军队】
- Robert 的军队
- Robert 的军队
- X国的军队
- 求 作战模拟与战争游戏开发方面的资料
- 双方都的
- AB1601 烧写程序后上电后无反应
- 【Java正则表达式】理解和开发中常用
- hadoop2.x常用端口及定义方法
- 2单例模式python
- dfadfadf
- 军队线程 *模拟作战双方的行为
- JAVA锁机制
- mysql数据库主从复制和读写分离
- a=a++,a=++a
- redis总结-(一)单点登录
- 如何高效地阅读技术类书籍与博客
- 嵌入式web&sqlite3
- Android 经常用到的开源框架
- 这条语句一共创建了多少个对象 String s = "a"+"b"+"c"+"d";