灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2237回复:0

[C++技术]C++builder 多线程下载实际操作

楼主#
更多 发布于:2012-09-06 11: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之类的,因为线程用完就被摧毁了。所以要注意


喜欢0 评分0
游客

返回顶部