자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

C++ Builder Multithread

2017.12.19 08:21

한시민 조회 수:164

Multithread로 프로그램을 만들었는데 자꾸 엉키고 있어서 어떻게 해결해야 하는 지 도와주시면 감사하겠습니다.

기본적으로 구조는 간단한데 이상하게 안에서 thread 구별용으로 사용하는 mNumber가 실질적으로 해당 thread로 구별하지 않고 자꾸 다른 thread와 엉키는 것 같습니다.

어떻게 프로그램을 짜야 하는 지 도와주시면 감사하겠습니다.

 

const int ThreadNumber = 40; //총 thread 수 설정

 

//Thread 선언

class MThread : public TThread {

....

pulbic

int mNumber ; //for thread 구별용

void __fastcall myFunc(void);

.....

}

 

//myThread 선언

MThread * myThread[ThreadNumber];

 

void __fastcall MThread::myFunc(void) {

        Variable[mNumber] = ... // global 변수

Function(mNumber, .....);

}

 

void __fastcall MThread::Execute() {

Sunchronize(myFunc);

}

 
각 thread가 시작된 후 myFunc()이 호출되면 해당 myFunc()이 실행될 때 mNumber로 구별되어 특정 thread에 해당하는 기능이 수행되어야 하는데 그렇게 되고 있지 않습니다. 뭔가 잘못하고 있는 것 같은데 그래서 아래와 같이 바꾸어 보았는데도 잘 안되는군요.
 

void __fastcall MThread::Execute() {

switch (mNumber) {

case 0:

         Sunchronize(myFunc);
         ...

case 1:

         Sunchronize(myFunc);
         ...

case 2:

         Sunchronize(myFunc);
         ...
 

}

 
번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17061
공지 유용한 관련 사이트 관리자2 2014.03.20 55898
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99337
3159 styleelements [1] timerobb 2016.10.25 101
3158 [무료 온라인 세미나] 사물인터넷 실제 구현하기 DeepDive! 관리자 2015.09.15 101
3157 초대합니다! 새로운 RAD Studio : 윈도우 10 혜택을 누리세요! file 관리자 2015.08.28 102
3156 TFMTBCDField 필드 type 사용방법에 대해 문의드립니다 [1] delphi 2015.09.17 102
3155 XE2 -> XE10 으로 컴파일만 다시했는데...오류가 납니다. 파란하늘 2016.01.13 102
3154 xe10 시애틀 컴파일시 에러메세지 확인 부탁드립니다. kerry 2016.07.13 103
3153 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 24 - Exercise 1 [2] 관리자 2016.05.27 103
3152 몇몇 데모 앱들이 OSX에서 실행시 PAServer 상에 오류가납니다. [1] file devdevil0625 2015.09.23 103
3151 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 15 - Exercise 4 [1] 관리자 2016.05.27 104
3150 구글플레이에 올릴려면 리오로 apk를 생성하면 된가요? [2] 화이부동 2018.12.19 104
3149 [RAD서버-201703 세미나] 모바일 화면디자인에 도움이 되는 샘플안내 부탁드립니다. 험프리 2017.03.17 104
3148 컴포넌트 사용 관련 [1] 똘귀아빠 2015.10.23 104
3147 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 12 - Exercise 5 관리자 2020.07.03 104
3146 다국어 지원 관련 XE6 update1 오류 발생 문의 [1] file spirng 2015.09.09 105
3145 *.DPC 컴포넌트 설치 질문 [1] 연일하 2016.08.30 105
3144 [100%활용 세미나] RAD서버와 엔터프라이즈 커넥터를 구매하지 않고 사용가능한가요? 험프리 2017.11.10 105
3143 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 11 - Exercise 3 [1] 관리자 2016.05.10 106
3142 paclientcore240.bpl를 다운받었는데 어떻게 사용하는지? [2] 화이부동 2016.09.03 106
3141 ArcGIS - Delphi Component 문의 연일하 2016.10.13 106
3140 시애틀을 사용하고 있는데, 베를린 업데이트2를 설치하려고 합니다. 삭제 후 설치해야 하나요? 관리자 2017.01.05 106