자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 39525
공지 유용한 관련 사이트 관리자2 2014.03.20 79022
2032 delphi 2007 사용자입니다. tms webgmaps 컴포넌트 설치 문의 0슝아빠0 2019.05.27 446
2031 라이브러리링크 [1] Chris9870 2015.04.14 446
2030 [REST 웨비나] TXMLDocument를 이용해 DataSet에 넣는 작업을 코딩 없이 단순 프로퍼티 수정만으로 될 때가 올까요? 험프리 2020.09.17 447
2029 InputBox, InputQueryAsync 등등 입력창 폰트색상 문의드립니다. [1] file 돌팅 2018.02.22 448
2028 안드로이드 앱에서 사진을 찍어 FPT로 올릴 경우의 문제입니다. [4] 노력짱 2018.03.22 448
2027 is 64bit 지원문의 [1] file 사랑남 2015.04.08 448
2026 서비스 프로그램 디버깅 맛재현 2020.11.12 448
2025 Android 카메라 앨범 저장 문제 [2] 초보입니다 2020.11.16 448
2024 IBLite 다운받는 순서에서 질문입니다. [3] youngdel 2016.04.20 449
2023 10 seattle 배포파일 생성이 되지 않습니다. [1] 이정규 2016.06.10 449
2022 실행이 너~무 느립니다. [1] 포세가이 2020.02.27 449
2021 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 2 - Exercise 3 [2] 관리자 2016.04.15 449
2020 델파이 사용중 문의 드립니다. 씨엠 2017.09.21 450
2019 버튼을 누르면 폼으로 이동하는 걸 어떻게 하나요? [1] 손태희 2019.05.06 450
2018 프로젝트그룹(ProjectGroup)의 여러 프로젝트가 한꺼번에 빌드 됨 [2] file 미스터몽키 2015.09.15 450
2017 [IoT 세미나] 타이젠 기기 어플도 개발 가능한가요? Humphery 2015.09.24 450
2016 Multi Tenant 모드일때 REST 요청시 401에러 [1] 초보개발자 2020.12.07 450
2015 ems start 버튼 클릭시 [FireDAC][Phys][IB]I/O error for file [1] 느림보 2021.03.15 450
2014 베를린10.1 upgrade 후 Usb 연결후 .설치안되고(안드로이드) 다운받아서하면 됩니다.. [4] file 모나도 2016.08.17 451
2013 FDQuery UTF8 변환문제 [2] 그아이 2017.11.14 451