C++临界锁CCriticalSection在线程中的使用

C++临界锁CCriticalSection在线程中的使用#define_AFXDLL#include<afxmt.h>#include<iostream>usingnamespacestd;CCriticalSectioncritical;inttick=0;DWORDWINAPIFunc1(LPVOIDlpParam);DWORD__stdcallFunc1(LPVOIDlpParam){critical.Lock();tick+=10;cout&lt.

大家好,又见面了,我是你们的朋友全栈君。

#define _AFXDLL
#include <afxmt.h>
#include <iostream>
using namespace std;

CCriticalSection critical;
int tick=0;


DWORD WINAPI Func1(LPVOID lpParam);
DWORD __stdcall Func1(LPVOID lpParam)
{
    critical.Lock();
    tick += 10;
    cout << "Func1 TICK NOW IS : " << tick << endl;
    critical.Unlock();
    return 0;
}


DWORD WINAPI Func2(LPVOID lpParam);
DWORD __stdcall Func2(LPVOID lpParam)
{
    critical.Lock();
    tick += 10;
    cout << "Func2 TICK NOW IS : " << tick << endl;
    critical.Unlock();
    return 0;
}

int main()
{
    HANDLE t1 = CreateThread(NULL, 0, Func1, NULL, 0, NULL);
    HANDLE t2 = CreateThread(NULL, 0, Func2, NULL, 0, NULL);

    while (true)
    {

    }

    CloseHandle(t1);
    CloseHandle(t2);
    return 0;
}


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

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

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


相关推荐

  • django drf_mnbkdrf

    django drf_mnbkdrf前言我们上篇文章使用到了Serializer类,可能有小伙伴说太过复杂,那么本篇就为大家带来更加简便的序列化类ModelSerializerModelSerializer先来看下ModelSer

    2022年8月7日
    7
  • ubuntu12.04 安装配置jdk1.7

    ubuntu12.04 安装配置jdk1.7

    2021年12月14日
    50
  • MyEclipse SVN插件的安装详解[通俗易懂]

    MyEclipse SVN插件的安装详解[通俗易懂]一、安装类型(一)、在线安装1.打开Myeclipse,在菜单栏中选择Help→SoftwareUpdates→FindandInstall;2.选择Searchfornewfeaturestoinstall,点击Next进入下一步;

    2022年7月20日
    15
  • java取整四舍五入_java取整和四舍五入

    java取整四舍五入_java取整和四舍五入Contents12345Math类里的两个方法:staticdouble(doublea)返回最大的(最接近正无穷大)double值,该值小于等于参数,并等于某个整数。staticdoubleceil(doublea)返回最小的(最接近负无穷大)double值,该值大于等于参数,并等于某个整数。123456789101112131415161718192021222324252627…

    2022年5月21日
    33
  • 如何实现分布式缓存_分布式数据库缓存

    如何实现分布式缓存_分布式数据库缓存本文转载自https://msdn.microsoft.com/zh-cn/library/ff384253.aspx,主要内容是对msdn中对AppFabric分布式缓存的介绍的整合以及一些自己的理解。AppFabric是什么  AppFabric是微软提供的可以集成到Web应用程序和桌面应用程序的分布式缓存。其原名为Velocity,后更名为AppFabric。AppFabric能够提高

    2022年10月16日
    4
  • setPositiveButton和setNegativeButton和setNeutralButton

    setPositiveButton和setNegativeButton和setNeutralButtonsetPositiveButton和setNegativeButton和setNeutralButtonsetPositiveButton和setNegativeButton和setNeutralButton三者都是AlertDialog弹出框的按钮,只是显示的位置不同,项目中可根据情况选择使用,setPositiveButton一般用于确认,setNegativeButton一般用于取消,setNeutralButton这个是相当于一个忽略操作的按钮。MainActivity中简单用法代码

    2022年6月16日
    54

发表回复

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

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