黑马程序员技术交流社区

标题: 想请教一下,张老师的银行管理系统的问题 [打印本页]

作者: 罗凯健    时间: 2013-9-17 10:46
标题: 想请教一下,张老师的银行管理系统的问题
本帖最后由 罗凯健 于 2013-9-17 13:33 编辑

我先把输出结果贴一下:

1号普通客户等待服务!
1号快速客户等待服务!
1号VIP客户等待服务!
第1号普通窗口正在获取任务
第2号普通窗口正在获取任务
第2号普通窗口没有取到任务,休息1秒
第1号VIP窗口正在获取任务
第1号VIP窗口正在为第1个客户服务。
第1号快速窗口正在获取任务
第1号快速窗口正在为第1个快速客户服务。
第3号普通窗口正在获取任务
第3号普通窗口正在为第1个普通客户服务。
第4号普通窗口正在获取任务
第4号普通窗口没有取到任务,休息1秒
第1号普通窗口没有取到任务,休息1秒


为什么1号普通客户等待的时候,一号窗口获取不到任务,而是后来的三号窗口获取到?
作者: 雪龙    时间: 2013-9-17 11:11
你的这个问题是因为线程的问题,打印和线程不是同步的,或者说即使一号普通窗口获取到了任务,暂时没有打印出来而已

作者: 刘劲松    时间: 2013-9-17 12:05
一号窗口刚打印完,还没进到普通客户线程池,cpu切换工作去打印2号3号,以及后面被3号窗口打印,并且先进入线程池。1号窗口只能看咯。。。就相当于先报名黑马,但比别人后面试,分配名额自然给先面试的。
作者: 麦子609    时间: 2013-9-17 12:34
这和CPU的线程调度管理机制有关,CPU是闲不下来的,在内存中等待的任务会源源不断的被CPU处理,一号窗口被打印的线程还没有执行到,但是有可能三号窗口获取任务的线程已经被调用执行了
作者: 罗凯健    时间: 2013-9-17 13:31
雪龙 发表于 2013-9-17 11:11
你的这个问题是因为线程的问题,打印和线程不是同步的,或者说即使一号普通窗口获取到了任务,暂时没有打印 ...

脑袋卡壳了,明白了现在T_T





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2