谁知道多线程编程??

来源:百度知道 编辑:UC知道 时间:2024/05/31 10:13:36
谁知道多线程编程??在c++builder 6.0中如何实现??

主要内容:

1, 工作者线程

2, 用户界面线程

3, 同步

线程被分为工作者线程和用户用户界面线程。用户界面的线程的特点是拥有单独的消息队列,可以具有自己的窗口界面,能够对用户输入和事件作出反应。

可以用以下方法建立一个工作者线程。

UINT MyThreadProc(LPVOID pParam)

{



}

AfxBeginThread(MyThread,..);

它有六个参数,第一个为控制函数,第二个为启动线程时传给控制函数的入口参数,当前线程的优先级,当前线程的栈的大小,当前线程的创建状态,安全属性,后四个有默认值。

用户界面线程:

首先利用应用程序向导建立单文档程序Thread,再建立Thread1 : public CWinThread,

Frame1 : public CFrameWnd,可以用Ctrl+w建立这两个新类。

在CThreadApp中加一个指针Thread1* pThread1,在BOOL CThreadApp::InitInstance()

中进行初始化:

pThread1 = new Thread1();

pThread1->CreateThread();

将Thread1的构造函数改成公有。

在Thread1中加一个指针Frame1* m_pWnd,然后初始化。

BOOL Thread1::InitInstance()

{

m_pWnd = new Frame1();

return TRUE;

}

把Frame1的构造函数改成公有,在Thread.h中包含#