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

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

请问这段代码(出现在一个函数中)是什么意思?
...全文
59 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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这里的数据在某一时刻只能被一个线程所用,
其他线程要等此线程用完后才能使用。
}
回复
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-01-31 08:19
社区公告
暂无公告