蒲公英110

2016年10月20日

Visual Studio 中的头文件、源文件和资源文件都是什么?有什么区别??

摘要: 头文件:后缀为.h,主要是定义和声明之类的,比如类的定义,常量定义源文件:后缀.cpp,主要是实现之类的,比如类方法的实现资源文件主要是你用到的一些程序代码以外的东西,比如图片之类,或者菜单、工具栏之类的定义之类 阅读全文

posted @ 2016-10-20 23:22 蒲公英110 阅读(2120) 评论(0) 推荐(0) 编辑

临界区、互斥量、事件、信号量四种方式

摘要: 临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进 阅读全文

posted @ 2016-10-20 22:22 蒲公英110 阅读(372) 评论(0) 推荐(0) 编辑

经典线程同步 关键段CS

摘要: 上一篇《秒杀多线程第四篇 一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试解决这个问题。 本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。 关键段CRITICAL_SECTION一共就四个函数,使用很是方便。 阅读全文

posted @ 2016-10-20 22:00 蒲公英110 阅读(155) 评论(0) 推荐(0) 编辑

一个经典的多线程同步问题

摘要: 上一篇《秒杀多线程第三篇原子操作 Interlocked系列函数》中介绍了原子操作在多进程中的作用,现在来个复杂点的。这个问题涉及到线程的同步和互斥,是一道非常有代表性的多线程同步问题,如果能将这个问题搞清楚,那么对多线程同步也就打下了良好的基础。 程序描述: 主线程启动10个子线程并将表示子线程序 阅读全文

posted @ 2016-10-20 20:51 蒲公英110 阅读(267) 评论(0) 推荐(0) 编辑

原子操作 Interlocked系列函数

摘要: 上一篇《多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数 阅读全文

posted @ 2016-10-20 20:01 蒲公英110 阅读(336) 评论(0) 推荐(0) 编辑

C中的volatile用法

摘要: volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatil 阅读全文

posted @ 2016-10-20 18:38 蒲公英110 阅读(133) 评论(0) 推荐(0) 编辑

多线程第一次亲密接触 CreateThread与_beginthreadex本质区别

摘要: 本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_begi 阅读全文

posted @ 2016-10-20 18:21 蒲公英110 阅读(187) 评论(0) 推荐(0) 编辑

多线程笔试面试题汇总(答案后期完成)

摘要: 系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性。系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”。有了“招式”和“内功心法”,相信你也能对多线程挥洒 阅读全文

posted @ 2016-10-20 18:19 蒲公英110 阅读(381) 评论(0) 推荐(0) 编辑

导航