请教线程同步问题

wangbo1204 2008-04-23 05:55:57
请问:
public void increment()
{
Pair temp;
synchronized(this)
{
p.increament();
}
}
请问:
synchronized(this)中的this放在这儿
1,是什么意思
2,有什么作用
3,为什么放this
谢谢
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifanfly 2008-04-24
  • 打赏
  • 举报
回复
每个对象都有一个私有空间和公有空间,同步的是公有空间的数据,lz可以看看线程的基本资料,会有详细的介绍。
haoxiongok 2008-04-24
  • 打赏
  • 举报
回复
帮楼主顶一下
kevinchj 2008-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 caoyinghui1986 的回复:]

3,为什么放this  
放别的也可以,但你要保证别的线程.也是共享的哪个对象.

[/Quote]

this指保证了该类的所有成员同步
kevinchj 2008-04-23
  • 打赏
  • 举报
回复
2 应该指对这个类的操作 线程同步,确保安全了,用到该类的时候就不需要再用现成同步了
Shine_Panda 2008-04-23
  • 打赏
  • 举报
回复
每个类都有一个锁.
1,是什么意思
this就是把当前这个类的锁放进去.
2,有什么作用
因为一个对象只有一把锁.所以当一个线程序来访问同步块里的东西的时候.
别的线程只有等待.尤其是在处理财务数据的时候考虑同步很有必要.

3,为什么放this
放别的也可以,但你要保证别的线程.也是共享的哪个对象.
kevinchj 2008-04-23
  • 打赏
  • 举报
回复
1 this还是指该类

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧