这样用不用线程好像没什么区别!?
熟悉线程的朋友帮忙看看吧:
__fastcall TTest::TTest(bool CreateSuspended):TThread(CreateSuspended)
{
}
void __fastcall TTest::Execute()
{
Sleep(200);
Synchronize((TThreadMethod)&SpeedTest);
}
void __fastcall TTest::SetID(int value)
{
nID=value;
}
int __fastcall TTest::GetID()
{
return(nID);
}
void __fastcall TTest::SpeedTest(void)
{
Form1->Label1->Caption =IntToStr(ID);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender){
TTest *test;
TList *tt=new TList;
int tIndex=0;
for(int j=0;j<10;j++)
{
test=new TTest(false);
tt->Add(test);
}
for(int i=10;i<30;i++)
{
test=(TTest*)tt->Items[tIndex];
test->ID =i;
test->Execute();
Application->ProcessMessages();
tIndex++;
if(tIndex>9)tIndex=0;
}
ShowMessage("end!");
}