2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

5.8. 멀티스레드 또는 서블릿에서 드라이버 사용 환경

많은 사람들의 문제JDBC드라이버는 하나의 스레드만 사용할 수 있다는 것입니다.연결언제든지 -- 그렇지 않으면 다른 스레드가 결과를 받는 동안 다른 스레드가 쿼리를 보낼 수 있습니다. 이는 데이터베이스 엔진에 좋지 않은 일입니다.

포스트그레SQL JDBC드라이버는 스레드로부터 안전합니다. 결과적으로 애플리케이션이 여러 스레드를 사용하는 경우 복잡한 알고리즘에 대해 걱정할 필요가 없습니다. 언제든지 데이터베이스를 사용합니다.

스레드가 연결을 사용하려고 시도하는 동안 다른 스레드가 연결을 시도하는 경우 그것을 사용하고 있으면 다른 스레드가 작업을 완료할 때까지 기다립니다. 현재 운영. 정규라면SQL문장인 경우 작업은 다음으로 구성됩니다. 명세서 전송 및 검색결과세트(전체). 만약에빠른 경로호출(예: a에서 블록 읽기대형객체) 그렇다면 이제 시간이다 해당 블록을 보내고 검색합니다.

이것은 응용프로그램과 애플릿에는 괜찮지만 서블릿의 성능 문제. 서블릿을 사용하면 연결에 과부하가 걸립니다. 스레드가 여러 개인 경우 쿼리를 수행하면 각각 하나를 제외하고는 일시 중지됩니다. 그렇지 않을 수도 있습니다. 당신이 무엇을 쫓고 있는지.

이 문제를 해결하려면 다음과 같은 풀을 생성하는 것이 좋습니다. 연결. 스레드가 데이터베이스를 사용해야 할 때마다 관리자 클래스에게 a를 요청합니다.연결. 매니저님이 공짜로 주시고 스레드에 연결하고 통화 중으로 표시합니다. 무료인 경우 연결을 사용할 수 없습니다. 연결이 열립니다. 일단 스레드가 작업이 끝나면 이를 관리자에게 반환합니다. 관리자는 이를 수행할 수 있습니다. 닫거나 풀에 추가하세요. 매니저도 그랬겠지 연결이 아직 살아 있는지 확인하고 연결을 제거하십시오. 죽은 경우 풀.

따라서 서블릿의 경우 단일 서블릿 중 하나를 사용하는 것은 귀하에게 달려 있습니다. 연결 또는 풀. 풀의 장점은 스레드가 있다는 것입니다. 단일 네트워크로 인한 병목 현상을 겪지 않습니다. 연결. 단점은 부하가 증가한다는 것입니다. 서버마다 백엔드 프로세스가 생성되므로연결. 그것은 당신과 당신에게 달려 있습니다 응용 프로그램 요구 사항.