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
[45532] Re:멀티쓰레드 구현..
에보니.^0^m [mortalpain] 1540 읽음    2006-07-02 00:19
빌더초보 님이 쓰신 글 :
: 빌더로 프로그램을 하나짜는중인데 멀티쓰레드는 첨 접해봐서 난감합니다.ㅜㅜ;
: 작업내용이 목록이 1번부터 만번까지가 있다고 하면.... 각 목록은 어떤함수를 실행해야 하는 수식들이고..
: 그 함수는 함수안에서 다른 함수를 호출하기도 하고.. 하기때문에 작업시간은 약간걸리는 함수구요
: 이걸 쓰레드 10개정도로 만들어서 1~10000까지의 자료를  처리하려는데..이걸 멀티쓰레드로 처리하려면..
: 만개를 쓰레드 10개로 나눠서..
: 1번부터 천번까지는 1번쓰레드
: 1001번부터 2000까지는 2번쓰레드
: 2001번부터 3000까지는 3번쓰레드 이런식으로 처리를 해야하나요??
: 아니면 어떤 리스트에 처리해야하는 목록만개를 두고.
: 쓰레드 10개가 차례대로 하나씩 빼오고.. 처리중인 쓰레드는 목록에 표시를 하고..
: 그런식으로 처리해야하나요?;;  멀티쓰레드가 첨인데다가 빌더 멀티쓰레드강좌도 없고해서.. 많이 난감한데..
: 도움말씀점주세요~!!

척 보니 쓰레딩 방식이 워크 크루형 같군요... =ㅅ=;

만약에 하시는 작업이 상호 배타 적이라면 에 그러니까 예를 드신 작업이 1번 쓰레드가 하는 작업이나 2번 쓰레드가

하는 작업이 동일한 내용이고 상호 영향을 주는 것이 아니라면

어차피 많은 자료를 처리하는 것이 목적이고 그럴려고 쓰레드를 사용하시는거니

스택이나 큐형태의 자료구조 클래스와 스레드 클래스를 합친 새로운 클래스를 만들어 보세요;;

예를들면 스택스레드라든지;; 큐스레드라든지요;;

푸쉬를 하던 팝을 하던 동기화 객체 - 크리티컬섹션이라든지 세마포어- 등을 사용해서 잘 클래스를 작성하시구요.

그리고 팝을 하실때 쓰레드가 팝한 자료를 가지고 일을 하게 만드시면 쉽게 구현될 것 같네요;;

참고로 VCL 에서는 TThread라는 훌륭한 객체가 설계되어 있고 SyncObjs.pas에서는 친절한 TEAM B 아자씨들이

동기화 객체를 쓰라고 잘 캡슐화를 해 놓았습니다. ^^;;

에 그럼 도움이 되셨기를 =ㅅ=;;

너무 오랜만에 답변다니 살이 다 떨리넹;;

+ -

관련 글 리스트
45531 멀티쓰레드 구현.. 빌더초보 1161 2006/07/01
45532     Re:멀티쓰레드 구현.. 에보니.^0^m 1540 2006/07/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.