【发布时间】:2013-01-09 11:07:45
【问题描述】:
在 servlet 方法中的朋友,该方法由 要么 dopost/doget 我有一个代码作为
synchronized (this)
{
String filePath="E:\\FSPATH1\\2KL06CS048\\";
System.out.println("Directory Created ????????????"+new File(filePath).mkdir());
}
那么上述servlet的多个线程是否可以同时进入上述代码块??
但是 Servlet LifeCycle Concept 说只有一个 Servlet 实例,并且对于该 servlet 的每个请求,都会在该实例上创建一个线程。
其实我的要求是
- 发出请求(servlet 调用和此 servlet 的工作正在服务器中创建目录)
- 从 servlet 调用返回后,我将重命名创建的目录。
- 重命名时,另一个线程不能创建相同的目录并修改目录的内容,因为我想在 servlet 中同步一些代码
【问题讨论】:
-
不管问题/答案如何,servlet 方法中的这个特定代码 sn-p 都是不好的做法。无论你想用这段代码解决什么问题,肯定都需要以不同的方式解决,这样你才能摆脱
synchronized (this)。
标签: java multithreading servlets