关于synchronized的参数问题:最基本的需要是它必须是一个对象。比如用int变量就不行。其次,个人认为也是最重要的,它必须是造成同步的对象。比如你发现了因为某个对象的原因而造成方法不能重入,这时候就要以这个对象为synchronized的参数。
解决方案 »
- j2se swing做的一个程序,怎么发布到tomcat中
- 如何在SWT中把label设成圆形?
- 使用自定List的问题?
- 花了75刀买了个 Whizlabs Suite for java 1.5的 正确率只有50% 感觉考的挺难的,真题也是这么难吗?考过scjp的朋友请进来指点下。
- 如何将主窗体参数传递给对话框?
- 客户端oracle9i,服务器端linux oracle8i为什么连不上?
- 如何自定义jComBox中的值啊?>
- 请JSP高手指教 急 !!!!!!!!!
- 关于Eclipse使用checkstyle_3.1.0插件的问题
- 使用JAVABEAN找不到类的错误。
- 怎样调用本目录的上一级的文件,使用的是相对路径表示??
- 不干java了,郁闷....来散分...
如上synchronized(lockObject)是对lockObject对象进行加锁,防止lockObject对被调用
而修改了共享变量
于是,我需要用同步方法锁定它,然后来修改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操作系统我三年前就学过)。
比如,我现在在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处到底如何填写,是根据什么来的,为什么?
没有人给出实质性的回答吗?
{}
......
//修改a
}