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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李金中 中级黑马   /  2014-2-16 14:36  /  1407 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李金中 于 2014-2-16 23:44 编辑

路每过1s放行一辆车,该动作在executors线程池的一个线程中执行,比如thread1;
交通信号灯的红绿变换是10s,也是在executors线程池的一个线程中执行,比如thread2;

极端情况下,会不会 thread1一直执行,虽然有1s等待,可在这1s等待中thread2也未能执行。。
这样的话,是不是就不准了。。。。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

6 个回复

倒序浏览
不会的啊,这是两个线程啊,thread1只负责每过1s往路的集合里放一辆车,thread2只负责每过10就切换一下灯,
而路上的车会一直检查自己所在的路线上的灯是不是亮的,如果是亮的就通过,如果不是就等待,
没有什么准不准的,thread1每过1s造一辆车,而thread2每切换一次灯就会有6条路线上有车过,所以是没有问题的..

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
itpower 发表于 2014-2-16 14:46
不会的啊,这是两个线程啊,thread1只负责每过1s往路的集合里放一辆车,thread2只负责每过10就切换一下灯, ...

。。。问题是,两个线程不是真正的并行执行的,而是时间片分配的。。。如果thread1一直执行,thread2哪来10s去切,永远是一个灯绿
回复 使用道具 举报
他是两个线程,个执行各的,互不影响
回复 使用道具 举报
这个操作在路上放行车的线程,跟操作路灯的线程又不是操作同一个资源,他们操纵的资源不同,就好比厕所分男女,男的上厕所一段时间,女的上厕所一段时间,这个谁上厕所时间长点不会影响另一个人上厕所的

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
这是异步的两个线程吧,谁也不影响谁。
回复 使用道具 举报
奋斗的小胖子 发表于 2014-2-16 15:49
这个操作在路上放行车的线程,跟操作路灯的线程又不是操作同一个资源,他们操纵的资源不同,就好比厕所分男 ...

额,同一时间不是只能一个线程占用CPU使用时间么。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马