王磊 发表于 2013-7-29 00:00
记录的不是变黑的灯,而是这个关灯方法的返回值,返回的是下一个点亮的灯,不知楼主的blackout方法中的代码 ...
王磊 发表于 2013-7-29 00:15
这里当前的灯记录的就是下一个灯啊,而关灯的方法内部是将当前灯关闭,然后将其下一个灯变亮,并返回。这时 ...
王磊 发表于 2013-7-29 00:27
线程是一个循环,如果不将这个变亮的灯记录下来,那么下次currentLamp.blackOut()的时候,你让它执行什么? ...
张云杰 发表于 2013-7-29 00:29
按这么说的话 .. 这里应该要被 synchronized 所修饰了
王磊 发表于 2013-7-29 00:27
线程是一个循环,如果不将这个变亮的灯记录下来,那么下次currentLamp.blackOut()的时候,你让它执行什么? ...
张云杰 发表于 2013-7-29 00:35
如果不让 它赋值给currentlamp 会出现什么情况
王磊 发表于 2013-7-29 00:35
同步?操作共有数据了么?
王磊 发表于 2013-7-29 00:40
会一直执行第一次初始化的两条路线的灯为true因为currentlamp的值一直没有变
...
张云杰 发表于 2013-7-29 00:47
哥们 加QQ 语音给我讲解下吧..
王磊 发表于 2013-7-29 00:51
LampController这个类你可以把它理解成一个路口,这个路口的所有灯都用一个控制器来延迟控制,也就是讲所有 ...
张云杰 发表于 2013-7-29 00:57
不不不, 这个思路我是明白的.. 我不解的是 为什么 要用一个新的当前灯??
而且 为什么会一直执行第一次 ...
王磊 发表于 2013-7-29 01:45
就这么愉快的解决了。。。加油吧!!黑马见
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |