|
팁 게시판에 임프님이 전에 올리신 글을 보고 스레드를 사용해서 통신 프로그램을 할려고 합니다.
통신을 통해 감시하는 대상이 몇십개가 되는데 그러면 스레드를 그 수만큼 생성해야 하는겁니까?
메인폼에서는 아래와 같이 생성해주면 되는건가요? (20개 일경우)
TimpThread *impThread[20];
void __fastcall TfrmMain::StartClick(TObject *Sender) // 스레드 시작
{
for(int i = 0; i < 20; i++)
impThread[i] = new TimpThread (false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::EndClick(TObject *Sender) // 스레드 종료
{
for(int i = 0; i < 20; i++)
{
impThread[i]->Terminate();
delete impThread[i];
}
}
//---------------------------------------------------------------------------
스레드 Object 에서는 어떻게 처리를 해야 합니까?
메인폼에서 생성한 20개 스레드를 어떻게 이용을 해야 하나요?
메인폼에서 호출하면 20개 스레드가 같은것을 실행하나요?
스레드 Object에서 20개 스레드가 각각의 다른 작업을 하게 할려고 하는데 아래 예제 에서는 어떻게 수정을
해야 하는지요?
__fastcall TimpThread ::TimpThread (bool CreateSuspended)
: TThread(CreateSuspended)
{
Priority = tpTimeCritical;
}
//---------------------------------------------------------------------------
void __fastcall TimpThread ::Execute()
{
static int qq = 0;
while(!Terminated)
{
frmMain->Caption = IntToStr(qq++);
}
}
//---------------------------------------------------------------------------
스레드를 처음 사용하는데 쉽게 이해가 안가네요.
정보문화사 책도 봤는데 스레드 종류도 많고 그래서 임프님이 올리신 예제를 이용해서 할려고 합니다.
너그럽게 보시고 알려주시면 감사하겠습니다.
|