2010-08-22 2 views
3

서블릿 애플리케이션을 작성 중이며 x와 y를 곱하는 다음 정적 메소드를 사용하려고합니다.서블릿의 정적 메소드

public class Helper { 
    private Helper() { 
     throw new AssertError(); 
    } 

    public static int mutltiply(int a, int b) { 
     int c = a*b; 
     return c; 
    } 
} 

나는 서블릿 멀티 스레딩 환경 것으로 알고 있습니다. 서블릿에서 그런 메소드를 호출하는 것이 안전합니까?

이 함수에 synchronize 속성을 추가해야합니까? 내 콘서트는 멀티 스레딩에서 C 변수의 가치에 관한 것입니다.

저는 Java로 새롭기 때문에이 정보는 매우 유용 할 것입니다.

대니.

답변

4

정적 필드를 사용하지 않는 한 아무런 문제가 없습니다. 그러나 실제로 곱셈하는 방법을 만드는 경우 응용 프로그램의 일부분을 재고해야 할 수도 있습니다.

+0

당신은 절대적으로 맞습니다 :) 이것은 내 마음에 들어온 첫 번째 행동입니다 :) –

4

c은 로컬 변수이므로이 메서드는 재 호출 가능하고 스레드로부터 안전합니다. 여러 스레드에서 안전하게 사용할 수 있습니다.

2

예,이 메서드는 스레드로부터 안전합니다. 로컬 변수 만 사용하는 한 스레드로부터 안전합니다.

6

정적 메서드는 상태 비 저장입니다. 메소드 범위 밖에서는 아무 것도 언급하지 않으므로 아무데도 안전합니다.

그렇다면이 일반적인 기능을 다른 클래스로 분리하는 것이 좋습니다. 클래스가 single responsibility principle을 따르는 것이 더 좋으며 다른 서블릿에서 정적 메서드를 사용할 수 있습니다.