Createmutex_pthread create

Createmutex_pthread create//TestStorage.cpp:定义控制台应用程序的入口点。//#include”stdafx.h”#include#include//#define MUTEX_DBGUINTWINAPIThread1(LPVOIDpara){#ifdef MUTEX_DBG HANDLE*phMutex=(HANDLE*)para; WaitForSingleObj

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

// TestStorage.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h”
#include <Windows.h>
#include <process.h>

//#define MUTEX_DBG

UINT WINAPI Thread1(LPVOID para)
{

#ifdef MUTEX_DBG
 HANDLE* phMutex = (HANDLE*)para;

 WaitForSingleObject(*phMutex,INFINITE);
#endif
  printf(“Enter Thread1/n”);
  printf(“I’m sleeping……/n”);
  
  Sleep(1000);
  
  printf(“Leave Thread1/n”);

#ifdef MUTEX_DBG
 ReleaseMutex(*phMutex);
#endif

 return 0;
}
UINT WINAPI Thread2(LPVOID para)
{

#ifdef MUTEX_DBG
 HANDLE* phMutex = (HANDLE*)para;

 WaitForSingleObject(*phMutex,INFINITE);
#endif
 
  printf(“Enter Thread2/n”);
  printf(“I’m sleeping……/n”);
  
  Sleep(1000);
  
  printf(“Leave Thread2/n”);
 
#ifdef MUTEX_DBG
 ReleaseMutex(*phMutex);
#endif
 
 return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{

 HANDLE hMutex = NULL;
#ifdef MUTEX_DBG
 hMutex = CreateMutex(NULL,FALSE,NULL);
#endif

 HANDLE hThread1 = (HANDLE)::_beginthreadex(NULL,0,Thread1,&hMutex,0,NULL);
 HANDLE hThread2 = (HANDLE)::_beginthreadex(NULL,0,Thread2,&hMutex,0,NULL);

 Sleep(4000);

 if(hThread1)
  CloseHandle( hThread1 );

 if(hThread2)
  CloseHandle( hThread2 );

 return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185944.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 惠普硬盘型号怎么看_惠普电脑序列号查询真伪

    惠普硬盘型号怎么看_惠普电脑序列号查询真伪大家都知道电脑使用起来非常方便,但遇见硬盘序列号怎么看的时候就非常头疼了,如果你是第一次遇到硬盘序列号怎么看,怎么样才能快速解决硬盘序列号怎么看带来的烦恼呢?小编为大家收集了很多关于硬盘序列号怎么看问题的解决方法,下面请看具体的解决方法步骤:如何查看电脑硬盘序列号问:惠普电脑的XP系统答:第一步单击【开始】→【运行…】,输入cmd第二步输入diskpart,按回车键第三步输入list…

    2022年8月13日
    14
  • 十四、迭代器模式—— 一个一个的遍历 #和设计模式一起旅行#「建议收藏」

    套路要深…故事背景今天要介绍一下迭代器,首先简单说明一下,什么是迭代器,为什么要使用迭代器。 迭代器(Iterate) 的意思就是反复做某件事情。那为什么要反复做某件事情呢,比如我们有个容器里面装了很好东西(这些东西都是同一类型的),要从容器中取每一个东西出来,就要反复去做一个取出的事情。故事主角迭代器模式 : 提供一种方法顺序访问一个聚合对象中的各个元素,而…

    2022年2月27日
    39
  • C++中voliate关键字

    C++中voliate关键字voliate变量是随时变化的,用voliate修饰的运算,编译器不进行优化,以免出错。对于一个普通变量,为提高存取速率,编译器会先将变量的值存储在一个寄存器中,以后再取变量值时,就存寄存器中取出。但是用voliate修饰的变量,就说明这个变量会发生意向不到的改变。也就是说,优化器每次在读取该值时,不会假设这个值了,每次都会小心的在读取这个变量的值,而不是在寄存器中取保留的备份。那么,…

    2022年6月6日
    31
  • HTML5学习笔记之History API

    这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例,让大家一步一步的体会"h5"能够做什么,以及在实际项目中如何去合理的运用达到使用自如,完美

    2021年12月28日
    38
  • 博客内容概要

    前言python课程周期及相关内容计算机基础操作系统和网络基础知识计算机硬件历史计算机硬件知识网络基础之网络协议Python开发Python基础pycharm安装PyCharm常用

    2022年3月29日
    50
  • python变量命名规则

    python变量命名规则在Python中,变量标记或指向一个值。当遇到变量时,Python将其替换为指向值。>>>cost=2.99>>>.1*cost0.29900000000000

    2022年7月6日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号