C++多线程编程
注:不要生磕博客,找水平最适合你的,记得目的是解决问题(付出尽量少的时间),而不是抠细节的全面学习。 一、对线程的理解 基本概念: 1. 进程:可以理解成一个运行中的应用程序,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,主要管理资源。 2. 线程:是进程的基本执行单元,一个进程对应多个线程。 3. 主线程:处理UI,所有更新UI的操作都必须在主线程上执行。不要把耗时操作放在主线程,会卡界面。 多线程:在同一时刻,一个CPU只能处理1条线程,但CPU可以在多条线程之间快速的切换,只要切换的足够快,就造成了多线程一同执行的假象。 二、从实例学习多线程 1.1 双线程实例 #include <iostream> #include <windows.h> using namespace std; DWORD WINAPI Fun(LPVOID lpParamter) { for (int i = 0; i < 10; i++) cout << "A Thread Fun Display!" << endl; return 0L; } int main() { HANDLE hThread = CreateThread(NULL, 0, Fun, NULL, 0, NULL); CloseHandle(hThread); for (int i = 0; i < 10; i++)