Background Image

FORUM

조회 수 9908 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요. 간단한 문의 드립니다.


CCI API가 Thread Safe 한지요?


예를 들어 Thread를 5개를 구동 시키고 각 스레드 안에서 전역 변수로 DB 핸들을 이용하여

Insert 혹은 Select 등을 동시에 수행 할 때 문제가 없는지 문의 드립니다.


추가로 JDBC의 경우에도 마찬가지로 Thread Safe 한지 궁금합니다.


답변 부탁드립니다.


  • ?
    이용미 2012.09.05 02:04

    안녕하세요. 질문 감사 드립니다.

    말씀하신 것처럼 각각의 thread에서 동일한 전역변수를 사용하여 DB를 핸들링 한다면 thread 간 변수 공유를 의미하기 때문에 thread safety를 보장할 수 없습니다.

    이 경우, thread간 다른 전역변수를 사용하는 방법이 있으며, thread 마다 Connection을 소유하는 것을 예로 들 수 있습니다.

    이는 CCI 뿐만 아니라 JDBC도 동일하므로 참고하시기 바랍니다.

  • ?
    nimbus89 2012.09.05 02:54

    질문을 드리기 전에 위에서 말씀드린 조건으로 Sample 코드를 작성하여 테스트 해보았는데 작동상 문제가 없는 것 같았습니다.

    다만 API 상에 Thread Safe에 대한 언급이 없어서 다시 질문 드린 것이었구요.

    정리하면 말씀드린 환경에서 작동할 수는 있으나 구조상 CCI API가 Thead Safe 하게 설계되지 않았으므로

    오작동할 여지가 남아 있어 권장하지 않는다고 생각하면 될지요?


  • ?
    cgkang 2012.09.05 05:50

    질문에서 전역변수를 사용하여 DB를 핸들링한다는 부분에서 약간 오해가 있었을것 같습니다.

    응용에서 전역변수를 처리하는 문제는 응용의 영역이기 때문에 CCI/JDBC와는 별개로 보입니다.

     

    여러개의 쓰레드가 하나의 커넥션을 공유해서 사용해야 하는 경우에는 문제가 될 수 있으나,

    각 쓰레드가 서로 다른 커넥션을 할당받아서 수행하는 구조에서는 문제없으면, 일반적으로 사용되고 있는 구조입니다.

     


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 21 admin 2024.04.23 133738
» CCI API가 Thread Safe 한가요? 3 nimbus89 2012.09.04 9908
1264 CCI API로 구현시 DB를 원격에서 접속할 때 발생하는 문제 2 nimbus89 2012.09.01 8293
1263 명령창(커멘드 라인)으로 DB 생성시 볼륨 자동 추가 설정 방법 문의 4 nimbus89 2012.09.01 9233
1262 표준프레임워크의 공통컴포넌트에 게시판설치관련 3 file 큐브리 2012.08.31 25387
1261 cubrid ha 백업 문의 1 깽즈야 2012.08.30 8759
1260 cubrid manager 접속 오류와 관련하여 1 bizsp 2012.08.30 8643
1259 loaddb시 피시 메모리 증가와 스왑에 따른 종료문제 7 천상하늘 2012.08.28 14936
1258 DB링크 사용이 가능한지 문의드립니다. 1 secret 장경수 2012.08.28 5
1257 이전에 질문드렸었는데요.. 중복 제거 쿼리문 재질문드립니다... 2 광황제 2012.08.25 11585
1256 cubrid_real_escape_string 값이 빈 값으로 리턴 됨 4 file 차오이 2012.08.25 8494
1255 큐브리드 매니저 비밀번호 오류메시지 2 file 종이 2012.08.24 8550
1254 큐브리드 디비 loaddb 시 에러 다시 문의 드립니다. 2 천상하늘 2012.08.24 13237
1253 스프링의 GeneratedKeyHolder를 쓸수 있나요? 2 file 안지민 2012.08.24 11541
1252 cubrid_master 프로세스가 사용하는 1523포트에 대해서 2 DiaBlue 2012.08.23 11813
1251 single_byte_compare 설정 및 호스팅 서비스 질문 1 리오 2012.08.22 8782
1250 큐브리드매니저.. sql파일 열기가 안되는거 맞나요? 6 안지민 2012.08.20 10587
1249 CCI API로 DB Insert 구현 시 JDBC 구현에 비해 속도가 떨어지는 문제 2 nimbus89 2012.08.17 10800
1248 cubrid ha 구성시에 master node에서 csql 접속 문제 1 깽즈야 2012.08.17 8650
1247 cubrid 백업 문의 1 깽즈야 2012.08.17 9741
1246 데이터베이스 암호화에 대한 질문 1 file 유니콘 2012.08.14 11510
Board Pagination Prev 1 ... 145 146 147 148 149 150 151 152 153 154 ... 213 Next
/ 213

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales