- 2
- 0
- 约7.29千字
- 约 8页
- 2016-09-23 发布于重庆
- 举报
win32多线程
Win32 多线程的创建方法和基本使用
作者: gengshenghong (2 篇文章) 日期: 十二月 2, 2011 在 5:17 下午
Summary:
总结Win32提供的创建多线程相关的API接口和基本的使用框架。
Ref:
MSDN: /zh-cn/library/y6h8hye8(v=VS.100)
Win32多线程的创建方法主要有:
(1)CreateThread()
(2)_beginthread()_beginthreadex()
(3)AfxBeginThread()
(4)CWinThread类
(1)CreateThread()
百度百科:/view/1191444.htm
函数原型:
view plaincopy to clipboardprint?01.HANDLE CreateThread(02. LPSECURITY_ATTRIBUTES lpThreadAttributes,03. DWORD dwStackSize,04. LPTHREAD_START_ROUTINE lpStartAddress,05. LPVOID lpParameter,06. DWORD dwCreationFlags,07. LPDWORD lpThreadId);08.}HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);}
头文件:Windows.h
CreateThread是Win32提供的创建线程的最基础的API,用于在主线程上创建一个线程。返回一个HANDLE句柄(内核对象)。
参数简要说明:
lpThreadAttributes:线程属性,用于设置线程的属性,NULL表示使用默认的设置。dwStackSize:线程堆栈大小,使用0采用默认设置,windows会根据需要动态增加堆栈大小。lpStartAddress:指向线程函数的指针。lpParameter:向线程函数传递的参数。dwCreationFlags:线程标志,CREATE_SUSPENDED表示创建一个挂起的线程,0表示创建后立即激活线程。lpThreadId,先线程的ID(输出参数)。
创建线程的代码:
view plaincopy to clipboardprint?01.#include stdafx.h02.#include03.04.DWORD WINAPI ThreadProc(LPVOID lpParam)05.{06. printf(sub thread started\n);07. printf(sub thread finished\n);08. return 0;09.}10.11.int main(int argc, char* argv[])12.{13. DWORD threadID;14. HANDLE hThread;15. hThread = CreateThread(NULL,0,ThreadProc,NULL,0,threadID); // 创建线程16.17. return 0;18.}#include stdafx.h#include
DWORD WINAPI ThreadProc(LPVOID lpParam){printf(sub thread started\n);printf(sub thread finished\n);return 0;}
int main(int argc, char* argv[]){DWORD threadID;HANDLE hThread;hThread = CreateThread(NULL,0,ThreadProc,NULL,0,threadID); // 创建线程
return 0;}如果直接使用上面的代码,那么很可能没有任何输出,这是由于主线程创建了子线程后主线程继续向下运行,子线程还没来得及执行里面的代码主线程可能就结束了。这就需要另一个API来进行同步:WaitForSingleObject()。
与之对应的还有WaitForMultipleObjects,用于同步一组内核对象。(参考/zh-cn/site/ms686360获取所有的同步函数(Synchronization Functions)的使用。
WaitForSi
您可能关注的文档
- 军姿的动作要领概括起来为.doc
- WHR-C008接点温度在线监测仪.doc
- WHTJ-BG-041-04-02-30曳引式杂物防爆电梯监督检验报告.doc
- 军理提纲考题汇总.docx
- Whyyu寻找合作伙伴.doc
- WH_修正归一法.doc
- WH_比例修正归一法.doc
- WI-08-316交流接地电阻测试仪操作指导书(修改后).docx
- WI-455-04消防设备维修保养.doc
- 军衔高的歌唱人员.doc
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
最近下载
- Dräger德图呼吸机Oxylog 3000 plus用户手册.pdf
- 零售业销售数据分析方法与应用.docx VIP
- 会计信息系统:财务篇 教案全套 宋红尔 第1--9章 系统管理---UFO报表.docx
- 个体化音乐干预减轻腹腔镜手术病人术前焦虑的研究.pdf VIP
- 精品解析:黑龙江省哈尔滨市德强高级中学2023-2024学年高一下学期开学验收考试数学试题(解析版).docx VIP
- GB50108–2024《地下工程防水技术规范》.pptx VIP
- 2023年上海初三语文一模试题说明文阅读汇编含答案.doc VIP
- 2025年福建省中考物理试卷(附答案解析).docx VIP
- Specialized English for Medical Imaging Technology医学影像 技术专业英语.pptx VIP
- 改建工程路面结构设计毕业设计.doc VIP
原创力文档

文档评论(0)