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와는 별개로 보입니다.

     

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

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

     


  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views47
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4458
    read more
  3. ADO.NET에서 자바 저장함수 호출

    Date2014.11.01 Bykdknim21 Views8420
    Read More
  4. ADO.Net 사용중입니다. 상태확인 방법을 알고 싶습니다.

    Date2015.10.22 ByCUCUCUCU Views5691
    Read More
  5. ADO.net Driver 변경 시 cascci.dll 로드할 수 없다는 오류

    Date2017.07.25 By물병 Views503
    Read More
  6. ADO.net 또는 ODBC에 대한 질문입니다.

    Date2012.03.20 By세스카 Views13377
    Read More
  7. ADO이용시 OLEDB Driver에러

    Date2010.01.29 Byflypig Views15619
    Read More
  8. AIX에 CUBRID 설치 후 오류사항 문의

    Date2015.06.02 By최명호 Views7735
    Read More
  9. ALTER 로 PK 여러 개 지정하고싶습니다

    Date2021.07.21 By사탕구름 Views832
    Read More
  10. ARRAY 데이터 타입에 대한 SQL 질문

    Date2010.10.08 By지용 Views10246
    Read More
  11. AUTO INCREASE 가 편집이 안됨

    Date2022.02.08 By큐브리드어려워요 Views268
    Read More
  12. AUTO_INCREMENT 수동 증가 문의

    Date2021.08.19 Bycubrid초보 Views727
    Read More
  13. AUTO_INCREMENT 컬럼 이용시

    Date2009.12.22 Byhyperhand Views17649
    Read More
  14. AVG 함수관련 질문드려요

    Date2013.06.10 By구름마음 Views13678
    Read More
  15. Ado.NET : Cannot connect to CUBRID CAS 오류

    Date2017.05.05 Bywebsiter Views57859
    Read More
  16. Ado.net. ExecuteNonQuery의 반환값이 항상 0 입니다.

    Date2019.01.08 By모비23 Views1480
    Read More
  17. An IOException was caught during reading the inputstream

    Date2015.11.26 By익명2 Views6872
    Read More
  18. An IOException was caught during reading the inputstream

    Date2015.11.26 By익명2 Views6831
    Read More
  19. An IOException was caught during reading the inputstream. 오류 조치방법 좀 알려주세요.

    Date2019.10.29 Byldev27 Views314
    Read More
  20. An internal error occurred during: "Fetching children of <DB명>". java.lang.NullPointerException 에러

    Date2021.04.06 Byysh Views481
    Read More
  21. Apm_setup7로 자동설치시 연동이 안되는데...

    Date2010.11.08 By또랑 Views8277
    Read More
  22. Archive Log만으로 타임복구가 가능한가요?

    Date2016.04.29 By핑핑크 Views9820
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 200 Next
/ 200

Contact Cubrid

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