天天看点

多线程之一:简单多线程

创建一个XXX.cpp 文件

#include <windows.h> //

#include <iostream>

using namespace std;

DWORD WINAPI FUN1Proc(LPVOID lpParameter);//申明线程1

DWORD WINAPI FUN2Proc(LPVOID lpParameter);//申明线程2

void main()

{

HANDLE hThread1, hThread2;

hThread1 = CreateThread(NULL, 0, FUN1Proc, NULL,0, NULL);

hThread2 = CreateThread(NULL, 0, FUN2Proc, NULL,0, NULL);

CloseHandle(hThread1);//关闭线程1句柄

CloseHandle(hThread2);//关闭线程2句柄

cout<<"main thread is running"<<endl;

system("pause");

}

//线程1的入口函数

DWORD WINAPI FUN1Proc(LPVOID lpParameter)

{

cout<<"thread1 is running"<<endl;

return 0;

}

//线程2的入口函数

DWORD WINAPI FUN2Proc(LPVOID lpParameter)

{

cout<<"thread2 is running"<<endl;

return 0;

}

小结:

        一个复杂的工程里面会有很多个小的工程,代码量有几万乃至几十万,但用到的只不过是一些第三方库、自定义库、最主要的还是基本的知识。最近一个月出现一个问题,在桌面应用程序中刷新子对话框内容会出现闪烁现象,后来发现可能是在主线程中是刷新子对话框内容,这样加重主线程的重量,所以这个时候就需要创建子线程来处理。

MFC