import java.util.HashMap;
import java.util.Map;
public class SingleMultiTest {
public static void main(String[] args) {
Container container = new Container();
for (int i = 0; i < 20; i++) {// 模拟多个请求
container.doRequest();
}
}
}
class Container {
private static final Servlet servlet = new Servlet(); // 单例
public void doRequest() {
new InvokeThread(servlet).start();// 多线程
}
}
class InvokeThread extends Thread {
Servlet servlet;
public InvokeThread(Servlet servlet) {
this.servlet = servlet;
}
public void run() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", Thread.currentThread().getName());
servlet.service(map);
}
}
class Servlet {
String name = "";
public void service(Map<String, Object> map) {
System.out.println(map);
name = map.get("id").toString();
try {
Thread.sleep(100);// 模拟长时任务
System.out.println(map + "----" + name);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
模拟Servlet单例多线程
最新推荐文章于 2021-04-05 11:17:56 发布