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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 47
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1894 사설망과 인터넷망으로 불리된 시스템에 관해 1 거지같은 2014.07.14 6491
1893 윈도우 CUBRID DB 자동 실행 1 조금느린아이 2014.07.12 7150
1892 C# WPF Dataset 연결시 외래키 자동 연결 안됨. 1 moon 2014.07.11 9911
1891 오라클 마이그레이션 외래키 정보 추가 오류 3 moon 2014.07.10 8612
1890 cmd 창에서 sql파일을 실행하는 방법 3 프라우닐 2014.07.10 14830
1889 캐릭터셋 또는 락 문제? 8 secret 달콤한후치 2014.07.10 632
1888 데이터베이스 로그인시 접속 에러 1 file dgr 2014.07.10 7330
1887 loaddb 문의 4 chocob 2014.07.09 8480
1886 centos6.5에서 yum으로 설치했을때 web manager 실행 1 hey0man 2014.07.09 8928
1885 DB접속이 안됩니다. 1889번 글로 재질문 드립니다. 2 CUBRID 2014.07.08 5659
1884 컴퓨터 이름 바꾼후 데이터베이스가 안보여요. 1 secret 그러게 2014.07.08 2
1883 BLOB 타입 이미지를 JSP로 웹에 뿌려주려면 어떻게 해야하나요? 1 아워나 2014.07.07 15379
1882 DB접속이 안됩니다. 질문 드려요. 1 CUBRID 2014.07.07 6502
1881 OLEDB 연결시 에러 db_e_sec_auth_failed ( 0x80040E4D ) 1 BlueHeart 2014.07.07 6231
1880 디비 생성시 오류 log 첨부합니다 확인 부탁드립니다. 1 file jhhwang 2014.07.05 9411
1879 CUBRID HA 구성 하면서 생성되는 lgar 파일에 관하여... 1 QA 2014.07.05 5897
1878 Connection to ~ refused 관련 문의드립니다. 4 secret dashbell 2014.07.04 8
1877 query Browser view생성쿼리 버그 1 용이지 2014.07.03 8876
1876 DATABASE 생성시 오류 입니다. 확인 부탁드릴꼐요. 2 secret jhhwang 2014.07.02 9
1875 큐브리드 초보 질문 드립니다.. 2 secret 잉하님 2014.07.02 15
Board Pagination Prev 1 ... 101 102 103 104 105 106 107 108 109 110 ... 200 Next
/ 200

Contact Cubrid

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