A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码:import java.util.ArrayList;
import java.util.Random;

public class Road {
     public String name;//
     ArrayList< String> cars=new ArrayList<String>();
public Road(String name) {
  super();
  this.name = name;
  
  Thread th1=new Thread(new Runnable() {
  
   @Override
   public void run() {
   
  for(int i=0;i<1000;i++)
   {
    try {
     Thread.sleep((new Random().nextInt(10) + 1) * 1000);
     //System.out.println("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
     cars.add(Road.this.name+"car"+i);
    } catch (InterruptedException e) {
     e.printStackTrace();
    }
   
   }
   }
  });
  th1.start();
  Thread th2=new Thread(new Runnable() {
   int count;
   @Override
   public void run() {
    System.out.println(cars.size());
    while(true)
    {
    if(cars.size()>0)
    {boolean flag=lamp.valueOf(Road.this.name).islight;
     if(flag)
     {
      System.out.println(cars.remove(0));
     }
   
    }
    }
   }
  });
  th2.start();
}

}
哪里错了啊,求指导

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

5 个回复

倒序浏览
你用的是传统的线程技术是吧  你能把问题描述一下吗  仅仅给出代码  不容易分析
回复 使用道具 举报
我没测试 你试试  把你的第二个线程类的代码替换为
  1. //每隔一秒放行一辆车
  2.         while(vehichles.size() >0){
  3.                 //1s放行一辆车
  4.                 try {
  5.                         Thread.sleep(1000);
  6.                 } catch (InterruptedException e) {
  7.                         e.printStackTrace();
  8.                 }
  9.                
  10.                 //观察是否可以通过这条路   ---- 观察这条路上的对应的交通灯对应的状态
  11.                 boolean lighted = Lamp.valueOf(Road.this.name).isLighted();
  12.                 if(lighted){
  13.                         System.out.println(vehichles.remove(0)+" is traversing!");
  14.                 }
  15.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
张歆明 发表于 2013-9-8 11:17
我没测试 你试试  把你的第二个线程类的代码替换为

我做了测试第二个线程执行不到。
回复 使用道具 举报
风叶漂 发表于 2013-9-8 13:44
我做了测试第二个线程执行不到。

那你有机会 把你的代码打个包 发出来 大家看看
回复 使用道具 举报
张歆明 发表于 2013-9-8 14:46
那你有机会 把你的代码打个包 发出来 大家看看

嗯,好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马