C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[19798] Re:Re:Re:[질문] Synchronize Method에 관해서.. (멀티 프로세서에선 가능한지..?)
김백일 [cedar] 1169 읽음    2002-07-03 23:22
xen 님이 쓰신 글 :
:
:  글 잘 읽었습니다.
:
:  리플 주셔서 감사하구여 ...
:
:  확인차 질문 다시 드리겠습니다!
:
:  Synchronize 는 Critical Section랑은 완전히 틀리단 말씀이시져?
:
:  그렇다면  콘솔 프로그램이 아닌상태에서 여러개의 CPU가 있는 시스템에서
:
:  사용해도 된다는 말씀이신지여?
:
:  만약에 사용해도 된다면 Mutex와 비교 했을때 속도면에서 어느쪽이
:
:  우월한지여?

스레드 동기화 알고리듬의 속도 순위는 다음과 같습니다.
critical section > Synchronize > semaphore > MUTEX

MUTEX는 멀티프로세서 시스템에서도 사용할 수 있고, 스트링으로 이름을 부여할 수도 있는 등
편리한 기능을 제공하지만, critical section에 비해 약 300배가 느리다는 군요.
(정우철, "Borland C++Builder 4 Programming Bible", 정보문화사)

: : TThread::Synchronize()는 Critical section이 아니라 메시지 루프를 이용한 방식입니다.
: : 그래서 콘솔 프로그램에서는 사용할 수 없죠.
: :
: : WIN32 API의 CriticalSection을 Wrapping한 VCL 클래스로 TCriticalSection 가 따로 있습니다.
: :
: : 그러면 멀티프로세싱 시스템에서 돌아가는 콘솔 프로그램에서 동기화를 하려면
: : 세마포어(semaphore)나 MUTEX를 쓰는 방법밖에는 없군요.
: :

+ -

관련 글 리스트
19792 [질문] Synchronize Method에 관해서.. (멀티 프로세서에선 가능한지..?) xen 816 2002/07/03
19793     Re:[질문] Synchronize Method에 관해서.. (멀티 프로세서에선 가능한지..?) 김백일 1182 2002/07/03
19797         Re:Re:[질문] Synchronize Method에 관해서.. (멀티 프로세서에선 가능한지..?) xen 1029 2002/07/03
19798             Re:Re:Re:[질문] Synchronize Method에 관해서.. (멀티 프로세서에선 가능한지..?) 김백일 1169 2002/07/03
19809                 Re:Re:Re:Re:[질문] Synchronize Method에 관해서.. (멀티 프로세서에선 가능한지..?) xen 1066 2002/07/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.