public class Pedestrian implements Runnable{ static int an,bn; static int count;
boolean as=false,bs=false;
public static void main(String [] args) { Pedestrian p=new Pedestrian(); }
public Pedestrian() {
Scanner inputa=new Scanner(System.in);
System.out.println("请输入在a方向的行人数目:"); an=inputa.nextInt();
Scanner inputb=new Scanner(System.in);
System.out.println("请输入在b方向的行人数目:"); bn=inputb.nextInt(); count=an+bn;
while(count>0) {
thread1 a=new thread1(this,"a"); a.start();
thread1 b=new thread1(this,"b"); b.start(); } }
class thread1 extends Thread {
public thread1(Runnable r, String name) { super(r, name); } }
public synchronized void run(){
thread1 t=(thread1)Thread.currentThread(); if (t.getName().equalsIgnoreCase("a") && an>0 && bs==false) {
as=true;
int i=(int)(Math.random()*100%an); if(i<an) i=i+1; an=an-i;
System.out.println("a方向上有"+i+"人过桥!"+" 还剩人数为:"+an);
int n;
n=(int)(Math.random()*2);
System.out.println("a方向上新增人数:"+n+" 现要过桥人数为:"+(an+n)); an=an+n; if(an==0) {
System.out.println("a方向上的人已全过桥!");
}
as=false; } if (t.getName().equalsIgnoreCase("b") && bn>0 && as==false) {
bs=true;
int j=(int)(Math.random()*100%bn); if(j<bn) j=j+1; bn=bn-j;
System.out.println("b方向上有"+j+"人过桥!"+"还剩人数为:"+bn);
int m;
m=(int)(Math.random()*2);
System.out.println("b方向上新增人数:"+m+" 现要过桥人数为:"+(bn+m)); bn=bn+m; if(bn==0) {
System.out.println("b方向上的已全过桥!"); }
bs=false; }
count=an+bn; } }
- 浏览: 68304 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (166)
- Apache (15)
- Linux (10)
- J2EE (8)
- 拾光 (3)
- Mybatis (10)
- JAVA (41)
- Spring (17)
- SpringSecurity (3)
- SpringMVC (9)
- 分布式 (6)
- JVM (5)
- hadoop (1)
- SSM框架 (2)
- Quartz (3)
- velocity (1)
- Oracle (3)
- Log4J (1)
- EhCache (0)
- OSGI (4)
- 讨论 (0)
- HTML (1)
- Spring Hessian (3)
- memcached (1)
- freemarker (3)
- OpenOffice (2)
- MYSQL (1)
- shiro (1)
- mac mysql (0)
- Redis (2)
- JavaScript (3)
- MyEclipse (2)
- atomikos (1)
- Maven (1)
- MAC Pro (2)
- Disruptor (2)
- 设计模式 (24)
- 正则表达式 (1)
- 创建型模式 (5)
- 结构性模式 (3)
最新评论
发表评论
-
Java常用类String实战
2016-04-29 17:02 0http://toutiao.com/a62718859032 ... -
通Java工程转换成maven工程
2016-04-29 15:01 473一、使用IDE提供的转换功能: 1. 右键普通Java项目, ... -
Java中Array与ArrayList的主要区别
2016-04-05 21:26 1731)精辟阐述: 可以将 ... -
JAVA集合类框架
2016-04-05 21:27 383为什么要使用集合类 当你事先不知道要存放数据 ... -
ArrayList和LinkedList区别
2016-04-05 21:24 267一般大家都知道ArrayList和LinkedList的大 ... -
LinkedList基本用法
2016-04-05 21:25 553LinkedList类是双向列表,列表中的每个节点都包含了对 ... -
Java集合类详解
2016-03-31 15:47 165集合类说明及区别Collec ... -
JAVA电商面试题
2016-03-30 13:45 424一、Java线程池的具体 ... -
jdk动态代理与cglib动态代理有什么区别
2016-03-25 14:34 502<!--StartFragment-->AOP ... -
Spring @Resource、@Autowired、@Qualifier的注解注入及区别
2016-03-23 10:04 462<!--StartFragment-->< ... -
Spring 实现数据库读写分离
2016-03-09 17:58 349<!--StartFragment-- ... -
Java RandomAccessFile用法
2015-11-19 09:21 297RandomAccessFile Random ... -
Java代码优化
2015-08-14 09:32 353在Java程序中,性能问题的大部分原因并不在于Java语言, ... -
java synchronized详解
2015-01-17 15:08 271记下来,很重要。 Java语言的关键字,当它用来修饰 ... -
HashMap和ConcurrentHashMap浅析
2015-01-17 15:07 348HashMap hashmap本质数 ... -
HashTable, hashmap ,currenthashmap
2015-01-17 15:07 337在Java类库中出现的第一个关联的集合类是 Hashtab ... -
java 死锁产生原因及解锁
2015-01-17 15:08 303进程死锁及解决办法 一、要点提示 (1) 掌握死锁的 ... -
Java多线程设计模式
2015-01-19 10:26 303Introduction 1 Java语言的线程开始 ... -
Java多线程基础
2015-01-19 10:26 341Thread类的run方法和start方法 ... -
JAVA多线程编程
2015-01-19 10:26 515这个专题主要讨论并 ...
相关推荐
Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程...
Java多线程-Socket编程
详细的讲述了多线程的各种用法 Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠...
Java 线程系列博文总结word化,编目如下,欢迎互相学习交流: Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:...
多线程注意:wait()方法的调用要有判定条件常用 while () obj.wait(timeout, nanos); ... // Perform action appropriate to condition } synchronized会影响共享数据,但对其他语句的执行不会有规律了!
java线程-Java内存模型;java线程-Java内存模型;java线程-Java内存模型;java线程-Java内存模型;java线程-Java内存模型;java线程-Java内存模型java线程-Java内存模型
人工智能-项目实践-多线程-Java多线程高并发实例 Java多线程高并发实例
基于java的开发源码-超简单Java多线程填表源码.zip 基于java的开发源码-超简单Java多线程填表源码.zip 基于java的开发源码-超简单Java多线程填表源码.zip 基于java的开发源码-超简单Java多线程填表源码.zip 基于java...
Java多线程--多线程相关概念
java多线程按需交替执行,java新特性。
Java多线程--线程安全问题练习题
Java多线程--让主线程等待所有子线程执行完毕
Java线程:概念与原理 2 一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java...
Java多线程--线程的安全问题与线程的同步机制介绍
Java的多线程-线程间的通信.doc
彻底明白Java的多线程-线程间的通信.doc
Java多线程--线程间的通信
Java多线程--线程的生命周期