C++使用Windows API CreateMutex函数多线程编程
C++中也可以使用Windows 系统中对应的API函数进行多线程编程。使用CreateThread函数创建线程,并且可以通过CreateMutex创建一个互斥量实现线程间数据的同步:
#include <iostream>
#include <Windows.h>using namespace std;HANDLE hMutex = NULL; //互斥量DWORD WINAPI thread01(LPVOID lvParamter)
{for (int i = 0; i < 10; i++){WaitForSingleObject(hMutex, INFINITE); //互斥锁cout << "Thread 01 is working!" << endl;ReleaseMutex(hMutex); //释放互斥锁}return 0;
}DWORD WINAPI thread02(LPVOID lvParamter)
{for (int i = 0; i < 10; i++){WaitForSingleObject(hMutex, INFINITE); //互斥锁cout << "Thread 02 is working!" << endl;ReleaseMutex(hMutex); //释放互斥锁}return 0;
}int main()
{hMutex = CreateMutex(NULL, FALSE, (LPCWSTR)"Test"); //创建互斥量HANDLE hThread = CreateThread(NULL, 0, thread01, NULL, 0, NULL); //创建线程01hThread = CreateThread(NULL, 0, thread02, NULL, 0, NULL); //创建线程01CloseHandle(hThread); //关闭句柄system("pause");return 0;
}
输出:
转载于:https://www.cnblogs.com/mtcnn/p/9411888.html
C++使用Windows API CreateMutex函数多线程编程相关推荐
- Windows平台下的多线程编程
线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件.信号标识及动态分配的内存等.一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度 ...
- 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程
标 题: [原创]使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. 作 者: shayi 时 间: 2015-02-12,05:19:54 链 ...
- 案例一: 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程。 首先用文本编辑器写一个C++源程序名为StackFrame.cpp ,代码如下:
案例一: 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. 首先用文本编辑器写一个C++源程序名为StackFrame.cpp ,代码如下: 1 ...
- Windows Api常用函数大全
1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创 ...
- windows下C语言多线程编程
_beginThreadex创建多线程解读 一.需要的头文件支持 #include <process.h> // for _beginthread() 需要的设置:Proj ...
- Windows 下 C/C++ 多线程编程入门参考范例
[c-sharp] view plaincopy #include <windows.h> #include <iostream> using namespace std; D ...
- Windows API——TextOut()函数学习
1.函数功能 The TextOut function writes a character string at the specified location, using the currently ...
- windows API 串口编程参考
*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...
- 漫谈C++ Builder多线程编程技术
漫谈C++ Builder多线程编程技术 http://tech.163.com/school · 2005-05-31 10:52:34 · 来源: 计算机与信息技术 摘 要:本文简单介绍了Wind ...
最新文章
- java中相同名字怎么声明,Java中,同一个类中的两个或两个以上的方法可以有同一个名字,只要他们的参数声明不同即可...
- 水稻微生物组时间序列分析3-冲击图展示时间序序列变化
- 大学最重要的七项学习
- 【最小费用最大流】N. April Fools' Problem (medium)
- java 循环依赖_java – 如何在Gradle中解决循环依赖
- mongodb Install the MongoDB service
- UEditor 百度富文本编辑器 .Net实例
- CString string 转换
- mysql中如何把两个查询结果列数不同并成一张表_MySQL
- mysql 正则替换 换行,MySQL中使用replace、regexp进行正则表达式替换的用法分析
- 软件工程 选课系统的uml类图_想成为高级程序猿,面向对象建模和UML你不应该知道?...
- 阿里巴巴在ITU-T成功立项数据安全相关标准
- 【已解决】华硕电脑关闭触摸板,安装完触摸板驱动,Fn+F9仍然无法解决问题
- 渗透测试-地基篇-Cobal Strike-taowu梼杌详细介绍(十九)
- 什么是域名,域名的购买流程是什么
- SOC堡垒机运维管理平台
- 陈旧语法密度之六——用Map消灭if-else if-else,“上帝代码”
- 手机端与PC端在线预览PDF
- 新媒体营销的模式,自媒体营销方式有哪些
- 20155210 2016-2017-2 《Java程序设计》第7周学习总结