Notice
Recent Posts
Recent Comments
Gentle Breeze
[Servlet] 인스턴스 변수 본문
public void init() throws ServletException {
accessCount = 0; //인스턴스 변수 초기화
super.init();
}
... <중략> ...
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=euc-kr");
PrintWriter out = response.getWriter();
int localCount = 0;
//인스턴스 변수 동기화
synchronized(this){
accessCount ++;
localCount = accessCount;
}
log ("My log : " + localCount); //디버깅
out.println("Get 방식으로 응답 : tmp " + tmp);
out.println("Get 방식으로 응답 : localCount " + localCount);
}
========================================================================================
- servlet의 인스턴스 변수는 servlet을 요청하는 모든 thread에 의해 공유된다.
- 인스턴스 변수는 init 메소드에서 초기화 한다.
- 두 개 이상의 thread가 동시에 하나의 인스턴스 변수를 수정하는 것을 막으려면
인스턴스 변수에 접근하는 부분을 동기화 (synchronized) 시켜야 한다.
- syschronized 와 this 키워드를 사용하여 코드 영역을 동기화한다.
'⑥ PreSTC > jsp / Servlet' 카테고리의 다른 글
[jsp/Servlet] jsp에서 Servlet 으로 변환 (0) | 2008.07.22 |
---|---|
[jsp] Java 클래스 저장 및 컴파일 (0) | 2008.07.22 |
[Servlet] Servlet Life Cycle (0) | 2008.07.22 |
[jsp/Servlet] 정리 <1> (0) | 2008.07.22 |
[Servlet] 정리 <2> (0) | 2008.07.21 |
Comments