|
void __fastcall TfrmMain::FormShow(TObject *Sender)
{
TSample1Thread *Sample1Thread;
TSample2Thread *Sample2Thread;
Sample1Thread= new TSample1Thread();
Sample2Thread= new TSample2Thread();
}
//---------------------------------------------
위에처럼 여러개의 스레드를 사용할때요.
Sample1Thread= new TSample1Thread(); 처음것만 실행하고 아래것은 실행이 안되거든요.
2개 다 수행하게 하려면 어떻게 해야 하나요?
프로그램 특성상 따로 스레드를 돌려야 하거든요.
그리고 위에처럼 순서대로 스레드를 돌려야 하구요.
몇일동안 고생을 했습니다.
아시는분 꼭 부탁드립니다. 지금 너무 급하거든요.
FormShow(TObject *Sender) 함수에서
{
TSample1Thread *Sample1Thread;
Sample1Thread= new TSample1Thread();
}하고
버튼을 만들어서 거기서
TSample2Thread *Sample2Thread;
Sample2Thread= new TSample2Thread();
하면 되는거 보니까
FormShow(TObject *Sender)함수에서
Sample1Thread= new TSample1Thread();
Sample2Thread= new TSample2Thread();
사이에 무언가 주면 될거 같은데 어렵네요. Sleep(1000); 주어도 마찬가지구요.
물론 스레드를 처리하는 부분은 아래처럼 되어 있구요. TSample2Thread 도 같구요.
__fastcall TSample1Thread::TSample1Thread ()
: TThread(true)
{
FreeOnTerminate = true;
Priority = tpTimeCritical; // 우선순위를 바꾸어도 마찬가지구요.
Resume();
}
//---------------------------------------------------------------------------
void __fastcall TSample1Thread::Execute()
{
while(!Terminated)
{
처리하는 부분
}
}
//---------------------------------------------------------------------------
|