黑马程序员技术交流社区

标题: 关于多线程同步的问题.求解啊~~ [打印本页]

作者: Morphine    时间: 2015-9-15 21:09
标题: 关于多线程同步的问题.求解啊~~
本帖最后由 Morphine 于 2015-9-16 21:16 编辑

为什么使用了synchronized,而且传入的对象是同一个对象的情况下会出现问题呢,



======================================================
问题已经解决啦.
原来是我把声明Object 放到了run方法里..每一次start 都会调用一次run生成一个新的对象,所以锁的对象不是同一个...
谢谢大家的帮助!!!! 感谢867379393大宋同学!

作者: caiyao    时间: 2015-9-15 21:27
我们得有一个星期之后才能学到多线程
作者: Morphine    时间: 2015-9-15 21:48
来个大神指点下呀...郁闷半天了...和教程上一样的代码也能出问题呀..
作者: Morphine    时间: 2015-9-15 23:04
没人了吗
作者: 0825梁磊    时间: 2015-9-15 23:09
坐等大神回复!
作者: 1406046710    时间: 2015-9-16 16:21
本帖最后由 1406046710 于 2015-9-16 16:29 编辑

你好,首先说下你这个程序循环语句控制有点小问题,当X不大于0后,会一直X--,
简单说就是while(true){ x--;}所以写跳出循环的判断及if后加个 else break;


作者: xiaobeike    时间: 2015-9-16 17:08
你传的这个对象和没传对象没什么区别,这个是空
作者: 怡宝矿泉水    时间: 2015-9-16 17:30
表示还没学到
作者: Morphine    时间: 2015-9-16 19:57
xiaobeike 发表于 2015-9-16 17:08
你传的这个对象和没传对象没什么区别,这个是空

没明白什么意思.. 毕老师的视频就是这样的..他的不会出现错误啊.
作者: Morphine    时间: 2015-9-16 19:59
1406046710 发表于 2015-9-16 16:21
你好,首先说下你这个程序循环语句控制有点小问题,当X不大于0后,会一直X--,
简单说就是while(true){  ...

这个循环我知道是无限循环的,虽然他一直循环但是当x<=0之后就不会打印了..我的意思是为什么加了同步之后还会出现负数..
作者: 867379393    时间: 2015-9-16 20:09
你把Object对象声明到run方法外边试试。
作者: 大宋    时间: 2015-9-16 20:15
object对象写到run方法外面试一试
作者: Morphine    时间: 2015-9-16 21:10
867379393 发表于 2015-9-16 20:09
你把Object对象声明到run方法外边试试。

解决啦,谢谢啦.自己太马虎了...写到ruan方法里面  每一次start都会新建一个Object对象.传的对象不一样.所以会出现问题...
作者: Morphine    时间: 2015-9-16 21:12
大宋 发表于 2015-9-16 20:15
object对象写到run方法外面试一试

解决啦,谢谢啦.自己太马虎了...写到ruan方法里面  每一次start都会新建一个Object对象.传的对象不一样.所以会出现问题....
作者: 867379393    时间: 2015-9-16 22:59
Morphine 发表于 2015-9-16 21:10
解决啦,谢谢啦.自己太马虎了...写到ruan方法里面  每一次start都会新建一个Object对象.传的对象不一样.所 ...

你要学android吗?
作者: 俏皮雅轩    时间: 2015-9-16 23:02
慢慢看,说不定是哪个单词拼错
作者: 德胜    时间: 2015-9-16 23:04
长得漂亮就是有优势
作者: Morphine    时间: 2015-9-17 12:35
867379393 发表于 2015-9-16 22:59
你要学android吗?

是啊..在自学..从零开始的.




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