首先声明全局的变量与临界值TCriticalSection *CS; //全局零界值 在头文件或新文件中声明线程(其实就是一个类) //下载线程class TMyThread:public TThread { public:__fastcall TMyThread(void); private:virtual void __fastcall Execute(void); }; 在CPP进行声明设定//下载线程申明_fastcall TMyThread::TMyThread(void):TThread(true) { FreeOnTerminate=true; //这是自动回收Resume(); //这是执行的意思。 去执行Execute()内的代码 } //下载线程执行体void __fastcall TMyThread::Execute() //线程功能{ CS->Enter(); //临界值各种各样的操作+中间如果有使用到全局就量就放到临界值中间,如果没有就可以放到外面执行CS->Leave(); //临界值} 启用线程:需要的地方NEW出来就行,因为使用的是自动回收,所以没有回收操作,如果使用的是手动就需要注意回收了 //启用下载线程TMyThread *MyThread=new TMyThread(); MyThread->FreeOnTerminate=true; 注意:在线程内最好不要使用NEW之类的,因为线程用完就被摧毁了。所以要注意
|