C++builder 多线程下载实际操作

来源:互联网 发布:php mysql join 编辑:程序博客网 时间:2024/06/05 22:33
首先声明全局的变量与临界值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之类的,因为线程用完就被摧毁了。所以要注意

原创粉丝点击