database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 23829 게시물 읽기
No. 23829
쓰레드에서의 동기화 문제
작성자
매니아
작성일
2005-05-27 20:14
조회수
1,407

하나의 프로세스(Connection을 함께 사용)에서 여러개의 Thread를 돌립니다.

그 각각의 쓰레드에서 DB SELECT를 합니다.

적어도 4개의 (같은 일을 하는) 쓰레드에서 하나의 MYSQL DB의 같은 Database의 같은 Table일수도

있고, 다른 Table일수도 있는데, 하여튼 4개의 쓰레드에서 하나의 db로 select를 합니다.

그런데, 동기화의 문제인듯 프로세스가 죽습니다.

여러쓰레드에서 select를 할 경우에는 문제가 없을줄 알았는데, 아니였습니다.

그래서 그 해결방법으로 저는 mutex를 사용하였습니다.

프로세스하나에서 전역으로 mutex를 잡아놓고,

각각의 쓰레드에서 mysql_query를 하기전에 mutex를 lock을 시키고

결과를 받은후 unlock을 시킵니다.

이 해결방안이 정답은 아닌듯한데, 다른 해결방법이 있는지 모르겠군요.

저의 처음 의도는 단순 select이므로 여러개의 쓰레드로 돌려도 mutex같은 넘을 쓰지 않더라도

잘 돌아갈거라고 생각했었는데, 아니였던거 같습니다. 한 10개 넘게 쓰레드를 돌리면 그만큼

query응답 속도가 더 올라갈거라고 생각했었는데, 보통 4개정도부터는 거의 똑같았습니다.

여러쓰레드에서 하나의 mutex를 사용하면 그 만큼의 성능이 저하될꺼라고 생각되는데,

고수님들의 생각은 어떠합니까?

 

[Top]
No.
제목
작성자
작성일
조회
23832MySQL 의 특징 5줄정도로좀... [1]
학생
2005-05-30
1409
23831MySql 대문자와 소문자 구분 [1]
유상규
2005-05-28
2462
23830윈도우2000에서 MySQL이 동작하려면 어떤 도구들이 필요하죠?? [3]
2005-05-27
1467
23829쓰레드에서의 동기화 문제
매니아
2005-05-27
1407
23828asp와 mysql 연결... [1]
na
2005-05-27
1714
23827정말 죄송합니다 질문 가지만 하겠습니다 꼭 좀 도와주세요 ㅠㅠ [1]
고경한
2005-05-27
4049
23826mysql 이중화 [1]
윤하리
2005-05-27
2209
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다