黑马程序员技术交流社区

标题: 大神来解答~~ [打印本页]

作者: muffin    时间: 2015-8-16 18:25
标题: 大神来解答~~
求大神解答。
下面的多线程程序为什么不能做到交替打印。

11.png (74.88 KB, 下载次数: 23)

11.png

2.png (19.57 KB, 下载次数: 31)

2.png

3.png (97.7 KB, 下载次数: 25)

3.png

作者: 黄蒙    时间: 2015-8-16 18:41
你这个FLAG并没有什么作用啊!按你这个意思应该是这个值改变1次打印1次对吧。那你那个FLAG作用于2个方法应该正好相反啊。分别为!falg和flag才对
作者: muffin    时间: 2015-8-16 18:50
黄蒙 发表于 2015-8-16 18:41
你这个FLAG并没有什么作用啊!按你这个意思应该是这个值改变1次打印1次对吧。那你那个FLAG作用于2个方法应 ...

打错了,输入信息的那个if语句的条件是flag==false。
作者: 黄蒙    时间: 2015-8-16 18:53
muffin 发表于 2015-8-16 18:50
打错了,输入信息的那个if语句的条件是flag==false。

改了之后还不行吗?
作者: muffin    时间: 2015-8-16 18:57
黄蒙 发表于 2015-8-16 18:53
改了之后还不行吗?

不行,按你说的把条件改为!flag和flag了,还是会出现重复打印的现象。按理说应该打印一次之后flag改变了,线程不可能还能进入那个函数啊。
作者: muffin    时间: 2015-8-16 18:58
黄蒙 发表于 2015-8-16 18:53
改了之后还不行吗?

我感觉问题出在了输入函数的那个else那里,如果把那个else删了,让输入线程强制等待,就能交替打印,但
我不明白为啥。
作者: 黄蒙    时间: 2015-8-16 19:25
muffin 发表于 2015-8-16 18:58
我感觉问题出在了输入函数的那个else那里,如果把那个else删了,让输入线程强制等待,就能交替打印,但
...

源码发来看下吧
作者: muffin    时间: 2015-8-16 20:28
这是源文件。
我已经明白了。
就是因为没有强制等待引起的。
我连自己的分析也一起发了。

解答WaitAndNotify2.png (122.88 KB, 下载次数: 27)

解答WaitAndNotify2.png

新建文本文档 (2).rar

626 Bytes, 下载次数: 258


作者: muffin    时间: 2015-8-16 20:29
muffin 发表于 2015-8-16 18:58
我感觉问题出在了输入函数的那个else那里,如果把那个else删了,让输入线程强制等待,就能交替打印,但
...

发了,非常感谢你能解答。
作者: 蓬头小道士    时间: 2015-8-16 22:10
flag这个变量最开始的赋值应该为false
作者: sl123    时间: 2015-8-16 22:16
高手啊,希望自己以后也能这么厉害
作者: keviner    时间: 2015-8-16 23:20
厉害,这个值得学习
作者: 福娃(小白)    时间: 2015-8-16 23:25
大神…棒棒哒~~
作者: muffin    时间: 2015-8-18 22:32
sl123 发表于 2015-8-16 22:16
高手啊,希望自己以后也能这么厉害

高手是在说我么。。。暂时感觉自己很菜。。
作者: muffin    时间: 2015-8-18 22:36
福娃(小白) 发表于 2015-8-16 23:25
大神…棒棒哒~~

哪里,才刚开始学。
作者: muffin    时间: 2015-8-18 22:37
keviner 发表于 2015-8-16 23:20
厉害,这个值得学习

一起加油吧。
作者: sven556677    时间: 2015-8-19 08:04
问一下你这个编辑器怎么是绿色和黑色的,跟黑客帝国里似的,是什么编辑器啊?
作者: kevin986745zk    时间: 2015-8-19 08:36
路过,看看,也学习一下!
作者: sl123    时间: 2015-8-19 21:17
muffin 发表于 2015-8-18 22:32
高手是在说我么。。。暂时感觉自己很菜。。

是啊,我暂时还达不到这个水平呢?我要加油
作者: muffin    时间: 2015-8-20 21:16
sven556677 发表于 2015-8-19 08:04
问一下你这个编辑器怎么是绿色和黑色的,跟黑客帝国里似的,是什么编辑器啊? ...

我用的是ediplus
在里面有个设置,是个对勾的图标,点进去可是设置背景颜色和字体颜色还有各种关键字的颜色。
作者: jumtop    时间: 2015-8-20 22:02
还没学到,不知道。。




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