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

Morphine

初级黑马

  • 黑马币:31

  • 帖子:11

  • 精华:0

本帖最后由 Morphine 于 2015-9-16 21:16 编辑

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



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

17 个回复

倒序浏览
我们得有一个星期之后才能学到多线程
回复 使用道具 举报
来个大神指点下呀...郁闷半天了...和教程上一样的代码也能出问题呀..
回复 使用道具 举报
没人了吗
回复 使用道具 举报
坐等大神回复!
回复 使用道具 举报
本帖最后由 1406046710 于 2015-9-16 16:29 编辑

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

回复 使用道具 举报
你传的这个对象和没传对象没什么区别,这个是空
回复 使用道具 举报
表示还没学到
回复 使用道具 举报
xiaobeike 发表于 2015-9-16 17:08
你传的这个对象和没传对象没什么区别,这个是空

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

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

解决啦,谢谢啦.自己太马虎了...写到ruan方法里面  每一次start都会新建一个Object对象.传的对象不一样.所以会出现问题...
回复 使用道具 举报
大宋 发表于 2015-9-16 20:15
object对象写到run方法外面试一试

解决啦,谢谢啦.自己太马虎了...写到ruan方法里面  每一次start都会新建一个Object对象.传的对象不一样.所以会出现问题....
回复 使用道具 举报 2 0
Morphine 发表于 2015-9-16 21:10
解决啦,谢谢啦.自己太马虎了...写到ruan方法里面  每一次start都会新建一个Object对象.传的对象不一样.所 ...

你要学android吗?
回复 使用道具 举报
俏皮雅轩 来自手机 中级黑马 2015-9-16 23:02:22
16#
慢慢看,说不定是哪个单词拼错
回复 使用道具 举报
长得漂亮就是有优势
回复 使用道具 举报 1 0

是啊..在自学..从零开始的.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马