求一个用vs中vc2005创建windows应用程序例子,要求要有多线程的使用方法?可如本人给出的控制台应用程序

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:46:16
希望得到学习线程方面的全部详细知识~~多谢了....
例如在JThread项目中的JThread.cpp:
// JThread.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "JThread.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// 唯一的应用程序对象

CWinApp theApp;

using namespace std;

int _counter;
DWORD Thread1()
{
while(_counter < 10)
{
cout << "Thread1: 检查计数器是否到10" << endl ;
Sleep(5000);
}
cout << "Thread1 检测到计数器达到10,退出" << endl ;
return 0 ;
}
DWORD Thread2()
{
for( ; _counter <= 14 ; _counter++)
{
cout << "Thread2: 计数器加1,当前值为counter = " << _counter << endl ;
Sleep(1000);
}
return 0 ;
}

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;

// 初始化 MFC 并在失败时显示错误
if (!

在MFC里直接用AfxBeginThread就可以了啊。
使用CWinThread*声明一个线程,然后定义一个线程函数,在要开启线程的地方使用AfxBeginThread这个线程函数就可以了~
例如:
CWinThread* pThreadTest;

UINT _TestThread(LPVOID lparam)
{
...//sth you want to do.

return 0;
}

//在适当地方开启线程
pThreadTest = ::AfxBeginThread(_TestThread,this);

很简单的。