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

C++ Builder Multithread

2017.12.19 08:21

한시민 조회 수:347

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 39516
공지 유용한 관련 사이트 관리자2 2014.03.20 79018
3152 rio update 질문입니다. [1] file 희망나라 2020.02.17 247
3151 10.2 starter 언인스톨 문제 [3] 바람 2017.05.31 248
3150 유투브에 올라온 인형만들기 연습중 알게되었습니다. 쭈니아빠 2016.07.16 249
3149 [100%활용 세미나] 리눅스 지원 계획을 알고 싶습니다. 험프리 2017.11.10 249
3148 fireDac 문의 [1] 영은우 2017.06.19 250
3147 두개의 화면을 뛰어놓고 번갈아가면서 클릭했을때 먹통되는 현상이 발생됩니다. 미주 2019.07.29 251
3146 서비스명을 알수 있나요? [1] kim 2015.12.11 251
3145 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 25 - Exercise 2 [2] 관리자 2016.05.27 252
3144 IOS Device 컴파일 관련 문의 mskim 2018.12.10 253
3143 프로그램 실행하면 편집중인 멀티페이지에서 시작하는 문제 [1] 스카이 2017.03.07 253
3142 개발구현 문의 [1] komi1 2016.06.14 254
3141 fmx에서 안드로이드 BT 질문 [1] 나즈나 2016.09.26 254
3140 ClientDataSet의 데이터 참조 [1] 나즈나 2016.12.02 255
3139 64Bit Package 관련 문의 [1] dyna 2015.07.21 256
3138 [10.2 도쿄 출시세미나] 리눅스용 소프트웨어 개발이 가능한가요? 그리고 리눅스용 소프트 웨어 개발이 가능하다면 GUI환경만 지원하나요? 아니면 터미널에서도 사용가능한가요? 험프리 2017.04.06 256
3137 [시애틀 출시세미나] 안드로이드 서비스를 기기를 재시동할때 자동으로 시작시킬 수 있나요? Humphery 2015.09.11 257
3136 10.3 Starter Edition 관련 Overload 문제건 [2] 한태수 2019.09.30 257
3135 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 20 - Exercise 3 [1] 관리자 2016.05.27 258
3134 실행파일 생성 오류가 발생하네요 뭐가 잘 못 되었을까요 [1] 백거 2016.10.27 258
3133 브레이킹 오류 file 마로 2015.07.14 259