Unit1.cpp
资源名称:第6章 多线程编程.rar [点击查看]
上传用户:gyjjlc
上传日期:2013-03-29
资源大小:2124k
文件大小:2k
源码类别:
多显示器编程
开发平台:
C++ Builder
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "Unit1.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- TForm1 *Form1;
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- //创建线程对象实例,以非挂起方式启动线程
- pThread=new TsimpleThread(false);
- //调用线程的成员函数为内部的成员变量赋值
- //使其指向主窗体的VCL控件
- pThread->AssignLabel(Label1);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- //调用线程方法,终止线程
- pThread->Terminate();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button2Click(TObject *Sender)
- {
- //调用线程方法,挂起线程
- pThread->Suspend();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button3Click(TObject *Sender)
- {
- //在挂起的方式下,调用线程方法,恢复线程
- pThread->Resume();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ThreadOnEnd(TObject * Sender)
- {
- //线程终止事件使“New Tread”按钮处于有效态
- Button4->Enabled=true;
- }
- void __fastcall TForm1::Button4Click(TObject *Sender)
- {
- //创建线程对象实例,以非挂起方式启动线程
- pThread=new TsimpleThread(false);
- //调用线程的成员函数为内部的成员变量赋值
- //使其指向主窗体的VCL控件
- pThread->AssignLabel(Label1);
- //使“New Tread”按钮处于无效态
- Button4->Enabled=false;
- }
- //---------------------------------------------------------------------------
English
