黑马程序员技术交流社区
标题:
悬赏求解 回帖都有金币奖励 ~~
[打印本页]
作者:
胡帅冰
时间:
2013-5-31 18:05
标题:
悬赏求解 回帖都有金币奖励 ~~
本帖最后由 胡帅冰 于 2013-6-2 10:06 编辑
import java.util.*;
class TrafficTest
{
public static void main(String[] args)
{
String [] direction = {"S2N"};
for(int i=0;i<direction.length;i++)
{
new Thread(new Road(direction[i])).start();
new Thread(new Road_2()).start();
}
}
}
class Road implements Runnable
{
private String name;
private ArrayList<String> car;
private boolean flg=true;
Road(String name)
{
this.name=name;
}
Road()
{
}
public ArrayList<String> getCar()
{
return car;
}
public boolean getFlg()
{
return flg;
}
private void comeCar()
{
car=new ArrayList<String>();
for(int i=0;i<5;i++)
{
try
{
//Thread.sleep(new Random().nextInt(10)*1000+1);
synchronized(TrafficTest.class)
{
car.add(this.name+"_"+i);
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
System.out.println("方向为:: "+this.name+"...的第"+i+"辆车来了。。。");
}
for(Iterator<String> it=car.iterator();it.hasNext();)
{
System.out.println(it.next());
}
}
public void run()
{
comeCar();
}
}
class Road_2 extends Road implements Runnable
{
public void run()
{
ArrayList<String> car=getCar();
boolean flg=getFlg();
while(true)
{
synchronized(TrafficTest.class)
{
if(flg)
{
System.out.println(car.remove(0)+"is go");
}
}
}
}
}
复制代码
求解怎么解决这个问题。问题一: 为什么这个空指针异常会出现在运行的时候??
问题二: 怎么解决,怎么实现同步??
说明:这个是在交通灯视频看过之后,我写的一段测试Road类的,使用的是实现Runnable类,没有使用视频中的Executor框架的Executors工具类。
谢谢各位了。。。。
作者:
李阳阳
时间:
2013-5-31 18:29
其实 我只是 来拿金币的
作者:
胡帅冰
时间:
2013-5-31 18:32
李阳阳 发表于 2013-5-31 18:29
其实 我只是 来拿金币的
哇嘎,来人,拖出去乱棍打死。。。:lol
作者:
crazy
时间:
2013-8-21 21:02
其实,我不是来拿金币的
作者:
佛山java爱好者
时间:
2014-7-9 08:15
有吗有吗
作者:
hmid
时间:
2014-7-30 00:48
还有吗?(*^__^*) 嘻嘻……
作者:
Faith_Yee
时间:
2014-9-8 09:11
奖励在哪里
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2