> 데이터 베이스 > MySQL 튜토리얼 > c3p0으로 인한 교착 상태를 해결하는 방법

c3p0으로 인한 교착 상태를 해결하는 방법

一个新手
풀어 주다: 2017-09-08 10:54:09
원래의
2215명이 탐색했습니다.

로컬에서 테스트한 코드가 맞아서 테스트용으로 외부 서버에 올려두었는데 이런 오류가 떴네요

com.mchange.v2.async.ThreadPoolAsynchronousRunner -466510
78 [Timer-18] WARN  com.mchange.v2.async.ThreadPoolAsynchronousRunner  - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c17bd4 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
로그인 후 복사

이거 보고 헷갈렸는데 왜 이렇게 된걸까요?

내 대답은 다음과 같습니다.

데이터베이스 연결 수가 제한되어 있으므로 애플리케이션이 C3p0을 시작할 때마다 C3p0 연결 풀을 채우기 위해 데이터베이스 연결을 차지합니다. 리소스가 사용됩니다. 점유되면 공유 리소스를 얻을 수 없기 때문에 교착 상태가 보고됩니다.

해당 구성 파일에서 최대 연결 수와 초기 연결 수를 변경하세요.

변경되지 않음:

<property name="maxPoolSize" value="100" />  
<property name="initialPoolSize" value="2" />
로그인 후 복사

수정 후:

rrre 에에

re 배포 및 실행, OK!

위 내용은 c3p0으로 인한 교착 상태를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿