CRITICAL_SECTION 学习

 

// Critsetion.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include <process.h>
using namespace std;CRITICAL_SECTION g_cs;
char name[]="zhangdongsheng";unsigned __stdcall ThreadPoc1( void* pArguments)
{while (1){EnterCriticalSection(&g_cs); //如果此处不对全局变量name进行加锁//那么输出结果将有可能出现不一致现象memset(name,0,sizeof(name));strcpy(name,"Thread1");Sleep(600);cout<<"Thread1 "<<name<<endl;LeaveCriticalSection(&g_cs);}return 0;
}
unsigned __stdcall ThreadPoc2( void* pArguments)
{while(1){EnterCriticalSection(&g_cs);memset(name,0,sizeof(name));strcpy(name,"Thread2");Sleep(500);cout<<"Thread2 "<<name<<endl;LeaveCriticalSection(&g_cs);}return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{InitializeCriticalSection(&g_cs);HANDLE hThread1=(HANDLE)_beginthreadex(NULL,0,ThreadPoc1,NULL,0,NULL);HANDLE hThread2=(HANDLE)_beginthreadex(NULL,0,ThreadPoc2,NULL,0,NULL);CloseHandle(hThread1);CloseHandle(hThread2);while(1){Sleep(500);}DeleteCriticalSection(&g_cs);return 0;
}

不加锁会出现不一致的情况

加锁后:

转载于:https://www.cnblogs.com/zhangdongsheng/archive/2012/03/27/2419923.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

渗透测试 ( 4 ) --- Meterpreter 命令详解

From&#xff1a;https://blog.csdn.net/weixin_45605352/article/details/115824811 <<Web 安全攻防(渗透测试实战指南)>> 1、初识 Meterpreter 1.1.什么是 Meterpreter Meterpreter 是 Metasploit 框架中的一个扩展模块&#xff0c;作为溢出成功以后的攻击载荷使…

深度:中国车企遭遇最大危机!末尾淘汰赛开始【附下载】| 智东西内参

来源&#xff1a;智东西摘要&#xff1a;靠“合资”起步的中国自主品牌汽车走到了成熟期的转折点&#xff0c;面临的形势极为严峻。中国汽车自主品牌30多年的发展过程&#xff0c;从闭门造车到合资建厂&#xff0c;再到民营崛起&#xff0c;正在逐渐走向开放。经国务院批准&…

行动依旧

http://www.gamengines.com/simple/?t549.html 转载于:https://www.cnblogs.com/vilyLei/archive/2012/03/29/2424107.html

渗透测试 ( 5 ) --- 扫描之王 nmap、渗透测试工具实战技巧合集

Nmap 官方文档 ( 中文文档是 Nmap 版本4.50&#xff0c;英文文档是最新的 )&#xff1a; 英文文档&#xff1a;https://nmap.org/book/man.html中文文档&#xff1a;https://nmap.org/man/zh/index.html#man-description官方 Nmap 项目指南 &#xff1a;https://nmap.org/book…

OSI、TCP/IP or Five-layer(Protocols Use) Model

转载于:https://www.cnblogs.com/michael-shan/archive/2012/03/31/6649681.html

央视深入报道,国内主流芯片真实水平如何?

来源&#xff1a;芯师爷摘要&#xff1a; 站在风口上&#xff0c;猪都会飞&#xff01;——用这来概括当下国内芯片领域再恰当不过了。自中兴事件之后&#xff0c;很多创业者纷纷将商业计划的关键字调整为“芯片”。与此同时&#xff0c;投资者也将目光转移至AI芯片、自动驾驶芯…

渗透测试 ( 6 ) --- SQL 注入神器 sqlmap

sqlmap 官网&#xff1a;http://sqlmap.org/ sqlmap文档地址&#xff1a;https://github.com/sqlmapproject/sqlmap/wiki/Usage sqlmap 使用 思维导图&#xff1a;http://download.csdn.net/detail/freeking101/9887831 黑帽与白帽都喜爱的十大SQL注入工具&#xff1a;http://…

怎么计算末年某月某天有几个星期天公司

算法如下&#xff1a;   基姆拉尔森计算公式   W (d2*m3*(m1)/5yy/4-y/100y/400) mod 7   在公式中d表示日期中的日数1&#xff0c;m表示月份数&#xff0c;y表示年数。   注意&#xff1a;在公式中有个与其他公式不同的地方&#xff1a;   把一月和二月看成是上一年…

美国研发出百万兆级计算机 Summit,“最强超算”竞争加剧

来源&#xff1a;36Kr摘要&#xff1a;史上最强计算机出现&#xff0c;美国开发出了世界上第一台百万兆级的计算机&#xff0c;超强的计算能力有望能解决更复杂的问题。上个月&#xff0c;美国能源部公布了世界上最快的超级计算机——Summit&#xff0c;整个美国为之庆祝。现在…

渗透测试 ( 7 ) --- 漏洞扫描工具 Nessus

Nessus 官网&#xff1a;https://www.tenable.com/products/nessus/nessus-professional 1、Nessus 简介、下载、安装 1.1 简 介 Nessus 是世界上很流行的漏洞扫描程序&#xff0c;全世界很多组织都有在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞…

报告|中国智能音箱已入局全球市场,双重商业模式迅速扩张

来源&#xff1a;网易智能摘要&#xff1a;最近&#xff0c;全球知名创投研究机构CBInsights发布了有关中国智能音箱市场及业务模式的研究报告&#xff0c;这是其“中国人工智能”系列报告的第三部分。这份报告将目光转向低成本、高容量的智能音箱市场&#xff0c;探讨新的商业…

渗透测试 ( 8 ) --- Burp Suite Pro 官方文档

Burp Suite 官网 &#xff1a;https://portswigger.net/burp 官方文档&#xff1a;https://portswigger.net/burp/documentation/desktop 完整文档&#xff1a;https://portswigger.net/burp/documentation/contents Burp Suite 实战指南 &#xff1a;https://t0data.gitbooks…

ubuntu下安装php redis

ubuntu下安装php redis sudo apt-get install redis-server 测试redis是否安装成功&#xff1a;注意&#xff1a;要开启redisredis-cliset test helloOKget test"bar" 下载phpredissudo wget http://open.imop.us/pr.tar.gz tar zxvf pr.tar.gz cd phpredis phpize /…

人工智能恶意使用报告:预测、预防和缓解

来源&#xff1a;199IT互联网数据中心摘要&#xff1a;一份研究报告指出&#xff0c;人工智能的高速发展伴随着风险。不肖人士可能会使用这个技术发动全自动攻击&#xff0c;让自驾车失控、或把商业用无人机变成能够锁定目标的武器。一份研究报告指出&#xff0c;人工智能的高速…

渗透测试 ( 9 ) --- 社会工程攻击工具 setoolkit

github 地址&#xff1a;https://github.com/trustedsec/social-engineer-toolkit kali工具 -- setoolkit(克隆网站及利用)&#xff1a;https://blog.csdn.net/weixin_41489908/article/details/103851057 1、社会工程学概念 社会工程学通常以交谈、欺骗、假冒或口语等方式&am…

渗透测试 ( 10 ) --- 扫描 web目录、文件 (dirb、wfuzz、wpscan、nikto)

当使用一个工具扫描完成后&#xff0c;如果没发现漏洞&#xff0c;可以再使用其他 web 扫描工具再扫描下&#xff0c;因为每个工具可能侧重点不一样&#xff0c;扫描出来的漏洞就不一样。 敏感文件目录探测方法大全 常用后台 工具扫描 wfuzz dirseach web 爬虫 搜索引擎 文件路…

AI当道,媒体会被机器牵着鼻子走?

来源&#xff1a;猎云网摘要&#xff1a; 现如今&#xff0c;社交媒体平台、搜索引擎和内容聚合商&#xff0c;在很大程度上控制了不同媒体内容的用户流向&#xff0c;从而直接影响了创作出来供大家消费的新闻内容。自此&#xff0c;有人认为&#xff0c;新闻媒体的未来再也无法…

WP7技巧 扩展【共享...】按钮

在WP的图片库里面选择一张图片会有【共享...】的按钮可以通过彩信、邮件等发送&#xff0c;也可以自定义共享到自己的APP中&#xff0c;如新浪微博就是很好的例子&#xff0c;如何添加自定义共享呢&#xff1f; 需要3个步骤 1 在程序配置里面声明【共享...】扩展 2 在MainPage获…

MOON.ORM 3.5 MYSQL的配置及使用方法(最新版免费下载使用.欢迎加盟)

下载代码生成器 /Files/humble/Moon.ORM-3.6.zip配置大码生成器的配置文件.http://www.mysql.com/downloads/mirror.php?id406542 mysql 2.0下载地址通过代码生成器,生成你系统数据库中所有的实体.(编译Mode,然后在C盘找到 MoonDB.CS 或者 MoonDB.DLL,引入dll或者文件到你…

政府大数据应用的反思;大数据分析应用常见的困难

来源&#xff1a;网络大数据摘要&#xff1a;在智慧城市建设中&#xff0c;以支持政府决策为名的大数据中心建设如火如荼&#xff0c;但利用大数据改进决策的成功案例却鲜有&#xff0c;与大数据中心的投资不成比例&#xff0c;令人质疑大数据中心遍地开花模式的合理性。一、政…