java synchronized 传参数的问题
synchronized(){};区块里的东西,可以我可以理解,即线程运行区块语句的时候不能被别的线程打断。但是()里的参数,我就不理解了,讲讲()传的参数不同会有什么不...
synchronized() { };
区块里的东西,可以我可以理解,即线程运行区块语句的时候不能被别的线程打断。
但是()里的参数,我就不理解了,讲讲()传的参数不同会有什么不同的结果吧,举个例子更好,谢谢啦。 展开
区块里的东西,可以我可以理解,即线程运行区块语句的时候不能被别的线程打断。
但是()里的参数,我就不理解了,讲讲()传的参数不同会有什么不同的结果吧,举个例子更好,谢谢啦。 展开
2个回答
展开全部
将什么对象视为对象锁,比如你可以这样用:
Object lock = new Object();
//方法A
methodA(){
synchronized(lock){//这个时候任何其它调用lock地方都被锁
dosomething();
}
}
//方法B
methodB(){
synchronized(lock){){//这个时候任何其它调用lock地方都被锁
dosomething();
}
}
这样子也能实现AB两个方法的互斥。
Object lock = new Object();
//方法A
methodA(){
synchronized(lock){//这个时候任何其它调用lock地方都被锁
dosomething();
}
}
//方法B
methodB(){
synchronized(lock){){//这个时候任何其它调用lock地方都被锁
dosomething();
}
}
这样子也能实现AB两个方法的互斥。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以看下csdn一篇关于这个关键字的文章,对于对象锁和类锁(类也是对象,这里这么说是为了区别类实例化的对象),锁作用域都有很好的解释。http://dev.csdn.net/article/71/71246.shtm
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询