社区
Java SE
帖子详情
java中的synchronized的用法问题
AbnerChai
2004-06-19 12:03:54
在java多线程中,我们常常用如下代码:
synchronized(lockObject)
{
//这里修改共享变量。
}
请问上面synchronized()括号中的参数是怎么给的,怎么有时候是this,有时候又是其它的,有没有一个统一的方法来确定这个变量?
多谢!
...全文
227
21
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
21 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。本文给大家介绍
java
中
synchronized
的
用法
,对本文感兴趣的朋友一起看看吧
举例讲解
Java
中
synchronized
关键字的
用法
主要介绍了
Java
中
synchronized
关键字的
用法
,针对
synchronized
修饰方法的使用作出了简单讲解和演示,需要的朋友可以参考下
Java
中
Synchronized
的
用法
synchronized
是
Java
中
的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一...
Java
中
synchronized
关键字修饰方法同步的
用法
详解
synchronized
可以用来同步静态和非静态方法,下面就具体来看一下
Java
中
synchronized
关键字修饰方法同步的
用法
详解:
JAVA
中
Synchronized
的8种
用法
,绝对实用
前言 最近针对互联网公司面试问到的知识点,总结出了
Java
程序员面试涉及到的绝大部分面试题及答案分享给大家,希望能帮助到你面试前的复习且找到一个好的工作,也节省你在网上搜索资料的时间来学习...八种使用场景: 接
发帖
Java SE
微信扫一扫
点击复制链接
分享社区
下载分享明细
6.2w+
社区成员
30.7w+
社区内容
Java 2 Standard Edition
社区管理员
加入社区
帖子事件
创建了帖子
2004-06-19 12:03
社区公告
暂无公告