线程同步问题,不明白!!帮帮我?!

softeye 2002-01-31 08:19:52
synchronized( this )
{
//some statement
}
//some statement;

请问这段代码(出现在一个函数中)是什么意思?
...全文
99 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
softeye 2002-02-01
  • 打赏
  • 举报
回复
不过我不明白这里的this有什么用??,不要也可以啊
softeye 2002-02-01
  • 打赏
  • 举报
回复
多谢各位啦,这里果然高手很多啊
asiaec 2002-02-01
  • 打赏
  • 举报
回复
hahaha88(忧郁的眼神,稀嘘的胡子喳) 

理解的号深刻 !!!鼓掌
hahaha88 2002-02-01
  • 打赏
  • 举报
回复
大概是:

任何一个线程要想执行这段代码时,必须先要获取“属于this的信号量”,否则
该线程被block在那里。因为“属于this的信号量”只有一个,所以在同一时刻,
不会有超过1个的线程在并发执行这一段代码
hyhong_h 2002-01-31
  • 打赏
  • 举报
回复
synchronized关键字出现在方法体内,表示那个语句块是被同步的,同一方法
内的其它语句块不同步。
hyhong_h 2002-01-31
  • 打赏
  • 举报
回复
它同步了类的当前实例,即this;这样的话,当前实例的其它同步方法
必须等这个同步方法执行完以后才可能执行。
flytsu 2002-01-31
  • 打赏
  • 举报
回复
synchronized( this )
{
//some statement这里的数据在某一时刻只能被一个线程所用,
其他线程要等此线程用完后才能使用。
}

23,409

社区成员

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

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