Background Image

FORUM

조회 수 7284 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4437
1284 foreign key로 등록하여 다른 테이블에서 참조한 키값을 출력하고 싶습니다.(ER모델) 1 살구맛 2012.10.12 11204
1283 테이블간 relationship 구현 어떻게하나요? 1 thiago 2012.10.11 5778
1282 csql -S [dbname] 무응답합니다. 1 까망이 2012.10.11 6535
1281 asp 에서 olddb driver 사용시 parameter 문제 4 file 데베안 2012.10.10 7661
1280 conf에서 data_buffer_size를 적용시킬려면 ... 3 로운 2012.10.10 6359
1279 큐브리드 시작시 local host 연결이 안됩니다 ㅠㅠ 1 thiago 2012.10.07 8433
1278 CentOS 레포지토리 제공 좀 해주시면 좋겠습니다. 2 viper9 2012.10.02 7185
1277 쿼리좀 도와주세요 1 박수 2012.09.27 6366
1276 언로드 후, 로드 시 데이터 정렬 순서가 역방향으로 바뀌는 것 관련해서... 1 file 차오이 2012.09.24 7123
1275 컴퓨터 메모리 증가 현상 문의드립니다 file 파파후드 2012.09.23 10834
1274 로그인 에러 문의 드립니다. 3 낭군 2012.09.21 7785
1273 cubrid log message 관련 질문입니다. 3 깽즈야 2012.09.17 5850
1272 볼륨 자동 추가 기능이 작동하지 않는 것 같습니다. 2 nimbus89 2012.09.14 5701
1271 큐브리드의 이전 버전 다운로드에 대해서 1 DiaBlue 2012.09.13 5553
1270 테이블 크기제한은 어떻게 해제하나요? 2 로닥 2012.09.10 5576
1269 cubrid 복구 관련 문의 3 깽즈야 2012.09.07 7812
1268 큐브리드 매니저 질의 실행계획 표시 오류?? 3 file 종이 2012.09.07 5486
1267 master process에 대해서 4 깽즈야 2012.09.06 5783
1266 혹시 큐브리드매니저 자동완성 끄는 기능 있나요 2 안지민 2012.09.05 6034
» CCI API가 Thread Safe 한가요? 3 nimbus89 2012.09.04 7284
Board Pagination Prev 1 ... 131 132 133 134 135 136 137 138 139 140 ... 200 Next
/ 200

Contact Cubrid

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