Servlet 의 단일 인 스 턴 스 다 중 스 레 드 메커니즘

우선 명확 하 게: Servlet 은 하나의 인 스 턴 스 입 니 다. 즉, 같은 업무 요청 에 대해 하나의 인 스 턴 스 만 있 습 니 다.서로 다른 업무 요 구 는 배 포 를 통 해 여러 개의 인 스 턴 스 를 만 들 수 있다.그 다음: 하나의 인 스 턴 스 의 원인 은 하나의 인 스 턴 스 가 특정한 요 구 를 충분히 처리 할 수 있 기 때 문 이 라 고 생각 합 니 다. ibatis 의 Query dao, UpdateDao 처럼 모두 하나의 인 스 턴 스 입 니 다.다시: 왜 하나의 인 스 턴 스 가 하나의 요청 을 처리 할 수 있 습 니까? Servlet 은 하나의 인 스 턴 스 다 중 스 레 드 이기 때 문 입 니 다.[서비스 방법 동시 실행]http://hiyachen.cublog.cn  [email protected]코드 먼저 보기: package hiya. test;public class Servlet {  private static Servlet instance=new Servlet(); private Servlet(){    } public static Servlet getInstance(){   return instance; } public void services(){   System.out.println("do something"); } static class Client extends Thread{   private Servlet servlet;   public Client(Servlet servlet){    this.servlet=servlet;   }   public void run(){    servlet.services();   //System.out.println("do something");   } } public static void main(){   Servlet servlet=Servlet.getInstance();   for(int i=0;i<10;i++){    Client client=new Client(servlet);    client.start();   } } }
두 가지 방안:
1. 동기 화 방법 2. 부분 변수
이것 은 단일 인 스 턴 스 다 중 스 레 드 의 구현 코드 입 니 다. (jdk 소스 코드 를 붙 이 고 싶 습 니 다.)
servlet          :
servlet  init       (  web    ,  loadOnStartup   )     ,         ,      。
servlet             service  ,                。
JSP  web   "   servlet"     ,web             ,A,B,C 3   ,  3       ,      servlet。    。
1:servlet         。
2:Servlet        Java        ,        Web     。
   Servlet                     
3:  jsp:<%@ page isThreadSafe="false"%>      。
                 ,                    。

좋은 웹페이지 즐겨찾기