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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 潘东升 中级黑马   /  2012-5-16 18:00  /  2208 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

就以毕老师视频里的拉煤问题,帮我理一下思路,先可不看我的,把你思路写出来看看,再对比我的
我是一下午都反复看day12_01这里面讲的线程通信问题,老整不明白,可能是思路还理不清,所以请大家帮个小忙
也可以就这个拉煤的例子,结合思路理顺一下

思路:1、先存才能拉出
          2、什么时候才存?煤堆没有煤了,才存煤,有煤就不能存,此时该取煤
           3、煤堆无煤的时候不能取煤,只能存煤
           4、结合2,3,设定一个旗标表示煤堆有煤无煤
           5、煤堆是共享数据,该封装对象,而调用该对象的是多个线程,所以对象所属类应该实现Runnabale接口
                   但是每个线程操作不一样,所以不用实现Runnable接口
           6、拉煤和取煤操作不一样,即对应不同run方法,所以分别封装成两个继承Thread的子类
          7、同步处理共享数据的安全问题

5 个回复

倒序浏览
楼主想的太麻烦了
我给你提供一种思路:
1.有两种单独的动作,存煤和取煤。
2.存煤无论如何都可以存的除非达到最大上限
3.取煤要判断是否有煤,所以就是在取之前判断一下
4.因为两个动作是同时进行的所以要同步,因为有两个动作所以要创建多线程
简单4步你的代码也就出来了

回复 使用道具 举报
—__ 发表于 2012-5-16 18:06
楼主想的太麻烦了
我给你提供一种思路:
1.有两种单独的动作,存煤和取煤。

那你按这个思路写下步骤看看:)
回复 使用道具 举报
惆怅 建议楼主直接看视频的 银行系统 里面的存号 取号跟这个完全一样,我平时上网不方便,基本每3天才上一次网吧,查点资料,我这里就不写了哈{:soso_e121:}希望有好心的把代码留下吧
回复 使用道具 举报
本帖最后由 谢述华 于 2012-5-16 19:18 编辑

同为想进10期,分还不够的苦命孩子,必须帮顶。另外,也不要把简单的问题搞的太复杂了。送上图,我想这个图搞清楚应该差不多了。
另:抄张孝祥老师的图,视频不是太清楚,只能做到这个程度了。

21.png (9.89 KB, 下载次数: 27)

21.png
回复 使用道具 举报
谢述华 发表于 2012-5-16 19:15
同为想进10期,分还不够的苦命孩子,必须帮顶。另外,也不要把简单的问题搞的太复杂了。送上图,我想这个图 ...

哦,对哦,还可以去看看张老师的视频,谢谢先
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马