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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 思维 高级黑马   /  2014-8-17 10:43  /  1260 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 思维 于 2014-8-17 11:13 编辑

假设线程A和线程B同时运行,线程A中有a1、a2语句,线程B中有b1、b2语句,如何操作才能保证a1语句执行完紧接着执行a2,而不是a1语句执行完,也可能执行b1语句?看张老师的银行业务调度系统,我自己变了一遍代码,可是出现下面的结果,当1号vip窗口获取任务的时候,执行了别的线程,直到1号VIP客户等待完了以后,1号vip窗口才打印没取到任务,这种问题怎么解决啊?

捕获.png (138.65 KB, 下载次数: 2)

捕获.png

4 个回复

倒序浏览
1. 使用wait方法让线程b等待,线程a执行完后将其唤醒
2. 使用join方法让线程b等待线程a执行完后再执行
回复 使用道具 举报
fantacyleo 发表于 2014-8-17 11:10
1. 使用wait方法让线程b等待,线程a执行完后将其唤醒
2. 使用join方法让线程b等待线程a执行完后再执行 ...

晕!好久没看多线程了把这个给忘记了!
回复 使用道具 举报
多线程有点忘了  丫的
回复 使用道具 举报
你的描述很奇怪啊,我猜想正确的问题描述应该是:A线程的a1代码和a2代码都执行完了再希望马上执行B线程吧?如果只是希望a1语句执行完紧接着执行a2,而不是a1语句执行完,也可能执行b1语句的话。用同步把a1和a2装起来就好了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马