자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17208
공지 유용한 관련 사이트 관리자2 2014.03.20 56083
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99522
2039 이미지 저장 및 읽기 오류 [1] 처음처럼 2016.03.04 617
2038 ios에서 classic bluetooth 로 통신하려면 [1] jojo 2016.03.04 3598
2037 Delphi10 에서 bpl로 제작된 컴포넌트 Install 메뉴가 안보이는 문제. (64bit 컴파일) [1] 김재욱 2016.03.04 205
2036 font 크기를 소숫점으로 안되나요? [1] 모나도 2016.03.04 516
2035 화면입력변수를 sql문에 적용하는 방법이 궁금합니다. [2] prince 2016.03.04 241
2034 안녕하세요. 질문드립니다. [1] hongmoonki 2016.03.04 448
2033 안드로이드 날짜 팝업창 관련 [2] 씨애틀 2016.03.07 336
2032 질문있습니다~사이베이스 연동 관련 [1] 신이치 2016.03.08 144
2031 TListView sort 방식 문의 [1] 광땡 2016.03.08 228
2030 FireDAC.MSSQL error seattle 10 [1] urong 2016.03.08 297
2029 개발시 uses 절 관련 [1] 씨애틀 2016.03.08 428
2028 안드로이드 백버튼시 선택 가능한 알림창 띄우기 [2] 씨애틀 2016.03.09 682
2027 Edit 내용입력 후 다음 버튼 클릭시 다음 Edit로 이용하는 방법 [4] 빨리빨리 2016.03.10 1579
2026 퀵리포트를 PDF로 변환하고자 합니다. [2] 손승규 2016.03.10 1479
2025 Zigbee 통신 어떻게 하는지 알고 싶습니다. [1] 이노야 2016.03.14 339
2024 bpl을 이용한 MDI 방식의 구성에서 DB커넥션의 공유는 어떻게 하는건가요? [1] 박종원 2016.03.14 444
2023 XE7 안드로이드 9-patch image기번 스플래쉬화면 [1] 빨리빨리 2016.03.15 297
2022 XE8/XE10 DATASNAP SERVER 연결관련문의 (MARSHMALLOW) [1] 김하나 2016.03.16 244
2021 XE10 Seattle에서 DBExpress로 원격지 Firebird서버에 접속시 의문점입니다. [1] 김태윤 2016.03.16 415
2020 ListBox style에서 text를 추가했는데 livebinding으로 연결이 가능한가요?? [1] 손주영 2016.03.17 332