社区
Java SE
帖子详情
java中的synchronized的用法问题
AbnerChai
2004-06-19 12:03:54
在java多线程中,我们常常用如下代码:
synchronized(lockObject)
{
//这里修改共享变量。
}
请问上面synchronized()括号中的参数是怎么给的,怎么有时候是this,有时候又是其它的,有没有一个统一的方法来确定这个变量?
多谢!
...全文
339
21
打赏
收藏
java中的synchronized的用法问题
在java多线程中,我们常常用如下代码: synchronized(lockObject) { //这里修改共享变量。 } 请问上面synchronized()括号中的参数是怎么给的,怎么有时候是this,有时候又是其它的,有没有一个统一的方法来确定这个变量? 多谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CsdnRob
2004-07-02
打赏
举报
回复
synchronized("xxxxxx")中xxxxxx是你要同步修改的变量所属的对象。 比如你有一个变量Xxx a,该变量a属于对象B,那么这时就写作: synchronized(B){ ...... //修改a }
AbnerChai
2004-07-01
打赏
举报
回复
这个对象如何定呢?
AbnerChai
2004-06-30
打赏
举报
回复
多谢!!!
dryr
2004-06-30
打赏
举报
回复
synchronized()中的参数就是你需要同步的对象
hrlixiang
2004-06-30
打赏
举报
回复
synchronized(this)
{
}
bestdelphier
2004-06-25
打赏
举报
回复
好久没用同步了,据我当时学习时候的理解,synchronized("xxxxxx")可以是任何一个对象实例,只要保证它一直是同一个,就能起到同步的作用。比如你String a = new String();,然后就可以synchronized(a),就这样。
AbnerChai
2004-06-25
打赏
举报
回复
请问我这个例子该如何填写啊?!!!!
比如,我现在在servlet中需要对一个全局变量:indexNo更改,
于是,我需要用同步方法锁定它,然后来修改indexNo,
如下所示:
public class MyServlet extends HttpServlet {
private static int indexNo = 0;//全局变量
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
synchronized("xxxxxx") //就是这里的参数!!!!
{
indexNo +=1;
}
}
}
这个xxxx处到底如何填写,是根据什么来的,为什么?
没有人给出实质性的回答吗?
errantry
2004-06-24
打赏
举报
回复
操作系统我三年前就学过?
大牛啊.
AbnerChai
2004-06-24
打赏
举报
回复
比如,我现在在servlet中需要对一个全局变量:indexNo更改,
于是,我需要用同步方法锁定它,然后来修改indexNo,
如下所示:
public class MyServlet extends HttpServlet {
private static int indexNo = 0;//全局变量
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
synchronized("xxxxxx") //就是这里的参数!!!!
{
indexNo +=1;
}
}
}
我想请问一下"lhw99(laoliu)"和"wzrlover(无语无声无欲无泪吾独行!)"
这个xxxx处到底如何填写,是根据什么来的,为什么?
不要光说起来容易,(ps操作系统我三年前就学过)。
wandou999
2004-06-24
打赏
举报
回复
同步进行,没有统一的方法,要根据需要
lhw99
2004-06-22
打赏
举报
回复
如果你学了操作系统,就不会不明白。
wzrlover
2004-06-22
打赏
举报
回复
“这要根据时间情况啊”打错了,是实际情况而定!
wzrlover
2004-06-22
打赏
举报
回复
这要根据时间情况啊,看你程序是想对那个对象加锁,
如上synchronized(lockObject)是对lockObject对象进行加锁,防止lockObject对被调用
而修改了共享变量
AbnerChai
2004-06-22
打赏
举报
回复
就这一个参数的问题,没人肯说明吗?
rosen
2004-06-21
打赏
举报
回复
同步(多线程)的知识很多,一时也说不清出,建议你买本书看看。
AbnerChai
2004-06-21
打赏
举报
回复
请大家多多支持!!
AbnerChai
2004-06-21
打赏
举报
回复
可否请anod给个例子加以说明?多谢.
shuneng
2004-06-19
打赏
举报
回复
看你要修改的变量属于哪一个实体啦。
Arias
2004-06-19
打赏
举报
回复
同步处理的参数设置!
anod
2004-06-19
打赏
举报
回复
关于synchronized的参数问题:最基本的需要是它必须是一个对象。比如用int变量就不行。其次,个人认为也是最重要的,它必须是造成同步的对象。比如你发现了因为某个对象的原因而造成方法不能重入,这时候就要以这个对象为synchronized的参数。
加载更多回复(1)
java
synchronized
卖票_
Java
线程同步(
synchronized
)——卖票
问题
卖票
问题
常用来举例线程同步
问题
,
Java
中
采用
synchronized
关键字解决。任意
Java
对象标志位有0、1两种状态,线程执行
synchronized
语句时会改变标志位状态,以此实现线程同步。文
中
给出代码示例,还介绍了不同场景下实现线程同步的方法。
Java
关于
synchronized
的一些
问题
本文深入探讨
Java
中
的
synchronized
关键字,包括其内部实现机制、锁升级过程及锁自旋等优化手段,并对比轻量级锁与重量级锁的区别。
JAVA
中
synchronized
的
问题
本文探讨了一个
Java
多线程同步的
问题
,通过一个具体的示例代码解释了为何在一个线程开始执行时,并不会立即锁定并执行
synchronized
方法m1(),反而会先执行非线程内的方法m2()。
java
之并发
问题
(
synchronized
)
本文介绍了
Java
并发编程
中
的线程同步概念,包括
synchronized
关键字的使用,如同步方法和同步块,以及其可能导致的性能
问题
和优先级倒置。此外,还讨论了死锁现象,阐述了死锁发生的四个必要条件,并通过示例代码展示了线程安全的买票场景。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章