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

C++ Builder Multithread

2017.12.19 08:21

한시민 조회 수:180

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 19384
공지 유용한 관련 사이트 관리자2 2014.03.20 58279
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 101800
2699 FMX THorzScrollBox 이미지 출력 관련 문의드립니다. 생각 2018.08.20 176
2698 DataSnap Unit 들 [2] file 델파인 2019.02.19 176
2697 firedac으로 mssql 쿼리시 속도 [1] 빅비스 2019.09.27 176
2696 10.1 Berlin Datasnap Server Method문제 불나방 2016.06.29 176
2695 윈도우10 에서 XE7 Fastreport5 오류 문의 [1] juljoo 2018.09.18 177
2694 안녕하세요 혹시 베를린에서 안드로이드 누가는 지원안하나요? [4] Vincent 2017.09.29 177
2693 델파이에 있는 ctrl+shift+C 빌더에서 되는 지요? [1] file 겨울잠안자는곰 2018.01.27 177
2692 Berlin 에서 Rio 로 변경 오류 (추가) 제트콜 2019.03.28 177
2691 DB실행 오류문의 [4] file kim 2015.11.19 177
2690 안드로이드 버젼에 따른 문제점 희망나라 2017.08.03 178
2689 [이벤트 당첨자 발표] 개발자 Q&A 게시판을 가장 잘 활용해주신 개발자는?! 관리자 2019.01.03 178
2688 mousedown 에서의 shift상태 [1] 100jk 2018.12.27 178
2687 마이그레이션 관련 문의 드립니다 [3] 투덜이스머프투 2020.02.18 178
2686 TMediaPlayer.Play 에서 floating point invalid operation 에러 Jack 2020.06.30 178
2685 Quick Report 문의드립니다 신재철 2017.07.26 178
2684 TListBox 내 TListItem 삭제 [2] 공수래 2021.03.10 178
2683 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 14 - Exercise 3 [1] 관리자 2016.05.10 179
2682 keystore [3] 희망나라 2018.01.12 179
2681 안드로이드에서 전화걸기 어떻게 하야 하나요? [2] 델마당쇠 2019.12.09 179
2680 갑자기 GetIt연결이 안 됩니다. [2] file 개성산전 2020.03.31 179