2010-08-09 2 views
0

weblogic 애플리케이션 서버와 같은 관리 환경 내에서 내 스레드를 만드는 단점은 무엇입니까?
응용 프로그램 서버에서 작업 할 때마다 항상 관리되는 스레드 (WorkManager API 사용)를 사용했습니다.
그러나 앱 서버 내부에서 관리되지 않는 스레드를 사용함으로써 발생할 수있는 단점이나 문제점에 대해 잘 모릅니다.관리되는 환경에서 관리되지 않는 스레드를 사용할 때의 단점은 무엇입니까?

답변

1

관리되는 스레드를 사용하면 얻을 수있는 이점을 잃을 수 있습니다. 관리되는 스레드를 사용하면 최대 및 최소 크기, 증가율 및로드가 많은 경우 각 풀에 대한 요청을 대기시킬 수있는 "풀"의 스레드를 할당 할 수 있습니다. 런타임시 (예 : Weblogic 콘솔에서) 이러한 스레드를 모니터하고 동작을 제어 할 수 있다는 이점도 있습니다.

0

Thraed에서 적은 양의 코드를 실행하면 다른 스레드 (잠금 장치에서 방대한 용도가 아닌)를 기다리지 않고 스레드 풀을 사용하는 데 문제가 없습니다.

하지만 스레드가 오랜 기간 동안 많은 양의 코드를 실행할 필요가있을 때 (예를 들어, 특정 리소스를 기다리는 잠금을 기다리는)는 스레드 풀을 사용하는 것이 좋습니다 아니에요 등

또 다른 문제점은 프로그램의 기본 로직을 실행하는 스레드에 대해 풀을 사용할 때 다른 스레드가 완료 될 때까지 기다릴 수 있습니다. 그것은 당신이 당신 자신의 스레드가되도록 관리해야하는 또 다른 연습입니다.

관련 문제