社区
Java SE
帖子详情
java 线程问题 请高手帮帮忙
wangbo1204
2008-04-23 06:00:42
请问;
public synchronized void increment()
{
lock.lock();
try
{
p.incrementX();
}
finally
{
lock.unlock();
}
}
请问:
synchronized不是已经声明increment()方法为同步的吗 怎么还要用lock.lock();呢 这不是重复了吗
请帮忙详细解答一下
谢谢
...全文
86
7
打赏
收藏
java 线程问题 请高手帮帮忙
请问; public synchronized void increment() { lock.lock(); try { p.incrementX(); } finally { lock.unlock(); } } 请问: synchronized不是已经声明increment()方法为同步的吗 怎么还要用lock.lock();呢 这不是重复了吗 请帮忙详细解答一下 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ROBINAPOLLO
2008-04-24
打赏
举报
回复
加上LOCK,,是为了解决同步时候,,相同优先级别的线程对资源的索取,,而造成死锁现象...
kekeemx
2008-04-24
打赏
举报
回复
看这个代码...嗯.估计可能某些地方需要注意一下死锁的情况.
因为需要2个锁才能运行,楼主要小心一点了
fire14_34
2008-04-24
打赏
举报
回复
学习了
老紫竹
2008-04-24
打赏
举报
回复
synchronized
保证了其它线程不会在这个方法完成前,使用这个方法,也就是独享这个方法,直到完成
lock
你这个方法可能需要某个锁,来保证某些资源不会出现死锁。
比如,你需要A,B2个锁,而,A此时在另一个线程被占用了,你则只能等待了。直到另一个线程释放了A锁!
jimeshengxian
2008-04-23
打赏
举报
回复
学习了
云上飞翔
2008-04-23
打赏
举报
回复
[Quote=引用楼主 wangbo1204 的帖子:]
请问;
public synchronized void increment()
{
lock.lock();
try
{
p.incrementX();
}
finally
{
lock.unlock();
}
}
请问:
synchronized不是已经声明increment()方法为同步的吗 怎么还要用lock.lock();呢 这不是重复了吗
请帮忙详细解答一下
谢谢
[/Quote]
答:这段代码表示:p.incrementX(); 这个方法调用必须要“
同时
”拥有两把锁才能执行:一把是:this这个对象的锁,另一把是lock这个对象的锁(因为我
“猜测”:lock.lock()方法很可能是对lock对象加锁
)。
以上仅供你参考
Shine_Panda
2008-04-23
打赏
举报
回复
而 public synchronized void increment() 是方法的同步.
lock 是对象的锁.
假设两个线程.通过不同的锁来访问同步方法.
那么同步方法是可以执行的.
同步方法默认情况下是用 this 作为他的锁.
所以在这种情况下 lock () 是没有必要的.
但是 你的程序中 有一个lock 对象 想必你 lock 应该
是你前面代码中某个类的对象.
这是 你用 lock 来做为锁的话
我可以
Lock lock1 = new Lock();
Lock lock2= new Lock();
那么我用lock1 和 lock2 作为锁的话
那么你的同步方法就无法保证我的对象是同一个对象.
所以就必须把你的当前同步的对象锁定.
也就是 lock 方法
同步的时候一定要注意保证锁的唯一性.
java
图形界面多
线程
,
请
高手
帮帮忙
,
Java
多
线程
与图形界面的有关
问题
(2)
当前位置:我的异常网» J2SE»
请
高手
帮帮忙
,
Java
多
线程
与图形界面的有关
问题
请
高手
帮帮忙
,
Java
多
线程
与图形界面的有关
问题
(2)www.myexceptions.net网友分享于:2013-08-15浏览:9次{petePics[i] = kit.getImage(peteSrc[i]);petePics1[i] = kit.getImage(peteSrc1[i]);pete...
java
调用其他
线程
_
java
线程
内调用别的
线程
有关的
问题
.
我有2个
线程
类Test和Test2.主函数类tett.我在Test类中定义了一个变量t.并且在调用
线程
Test类后修改该变量,并且在调用处需要获取到修改后的变量值.//主函数类publicclasstett{publicst...我有2个
线程
类Test和Test2.主函数类tett.我在Test类中定义了一个变量t.并且在调用
线程
Test类后修改该变量,并且在调用处需要获取到修改后的变量值.//主...
java
线程
jni_哪位
高手
可帮小弟一个忙,十万火急!!!在
java
线程
中可不可以调用JNI...
在一个
线程
地run()方法中调用一个方法,该方法实例化一个包含本地方法调用的方法,可是该
线程
执行到该方法时就无反映了。具体相关程序如下:1。主程序public class testJni{public static void main(String[] args)throws
java
.io.IOException{Thread manager = new Thread(new testThrea...
java
改变
线程
堆栈大小_
java
在创建
线程
时候设置堆栈大小
这个构造方法怎么用publicThread(ThreadGroupgroup,Runnabletarget,Stringname,longstackSize//设置
线程
堆栈大小)我没有接触过
java
,但是要做一个程序,我是这样写的,但是不对,
高手
帮帮...这个构造方法怎么用public Thread(ThreadGroup group,Runnable target,String name,lon...
Java
详解:
java
线程
并发
问题
前言: 首先介绍一下我的同学,专科毕业应用电子技术专业,已经毕业快两年了。因为专业的原因工作一年觉得没什么发展前途就想转行,身为他的“好基友”,他觉得我这个工作挺好的,就咨询了我一下,经过的严厉拒绝下(各种诱惑下),还是阻挡不了他。随后他报名了北大某鸟进行培训,进行了为期半年的
Java
程序员速成加工。 因为年前结束培训他准备年后面试,谁知遇到这个大疫情,一直拖到了5月份。随后进行了长达2个月的面试历程。谁知昨天聊天的时候这个狗贼竟然通过了面试,而且还是12K,可把我羡慕坏了(我才11K),经过拜师才知道是他
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章