- 博客(8)
- 资源 (23)
- 收藏
- 关注
原创 热门智力题 过桥问题和倒水问题
热门智力题 过桥问题和倒水问题过桥问题和倒水问题都是笔试面试中的热门智力题,不但微软、GOOGLE、百度、腾讯等公司采用,甚至在IQ测试与公务员考试中都能见到。本文不但教你如何快速用手算来解决这两种问题,并且教你如何用程序代码来计算这两种问题。绝对让你大有收获。一.过桥问题在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,四个人
2012-04-23 09:04:35 45463 93
原创 秒杀多线程第七篇 经典线程同步 互斥量Mutex
阅读本篇之前推荐阅读以下姊妹篇:《秒杀多线程第四篇一个经典的多线程同步问题》《秒杀多线程第五篇经典线程同步关键段CS》《秒杀多线程第六篇经典线程同步事件Event》 前面介绍了关键段CS、事件Event在经典线程同步问题中的使用。本篇介绍用互斥量Mutex来解决这个问题。互斥量也是一个内核对象,它用来确保一个线程独占一个资源的访问。互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互
2012-04-18 09:26:51 96028 106
原创 秒杀多线程第六篇 经典线程同步 事件Event
阅读本篇之前推荐阅读以下姊妹篇:《秒杀多线程第四篇 一个经典的多线程同步问题》《秒杀多线程第五篇 经典线程同步关键段CS》 上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的“线程所有权”特性所以关键段只能用于线程的互斥而不能用于同步。本篇介绍用事件Event来尝试解决这个线程同步问题。首先介绍下如何使用事件。事件Event实际上是个内核对象,它的使用非常方便。下面列出一些常用的函数。
2012-04-11 09:06:57 104202 93
原创 秒杀多线程第五篇 经典线程同步 关键段CS
上一篇《秒杀多线程第四篇 一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试解决这个问题。本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。 函数功能:初始化函数原型:void InitializeCritic
2012-04-11 09:06:40 88248 132
原创 秒杀多线程第四篇 一个经典的多线程同步问题
上一篇《秒杀多线程第三篇原子操作 Interlocked系列函数》中介绍了原子操作在多进程中的作用,现在来个复杂点的。这个问题涉及到线程的同步和互斥,是一道非常有代表性的多线程同步问题,如果能将这个问题搞清楚,那么对多线程同步也就打下了良好的基础。 程序描述:主线程启动10个子线程并将表示子线程序号的变量地址作为参数传递给子线程。子线程接收参数 -> sleep(50) -> 全局变量++ ->
2012-04-10 09:57:02 193893 69
原创 秒杀多线程第三篇 原子操作 Interlocked系列函数
上一篇《多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数的变量递增。程序在最后输出计数的值表示有今天多少个用户登录,如果这个值不等于我们启动的线程个数,那显
2012-04-09 09:08:16 142106 140
原创 秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_beginthreadex? 使用多线程其实是非常容易的,下面这个程序的主线程会创建了一个子线程并等待
2012-04-05 09:36:06 271286 143
原创 秒杀多线程第一篇 多线程笔试面试题汇总
系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性。系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”。有了“招式”和“内功心法”,相信你也能对多线程挥洒自如,在笔试面试中顺利的秒杀多线程试题。 -------------
2012-04-05 09:35:49 213073 126
Base64系列第四篇 C/C++中使用Base64编码解码(从chromium库中抽取)
2013-10-19
VC++位图特效显示合集—交错、百叶窗、随机积木、飞入伸展
2013-03-24
进程通信之三 父进程传参数与子进程返回值
2013-03-21
Windows VC++ 调整进程当前目录为程序可执行文件所在目录
2013-03-21
WindowsVC++获取多核CPU各核使用率
2013-03-20
WindowsVC++获取CPU整体使用率
2013-03-20
MoreWindows微软实习生大礼包
2013-03-18
秒杀多线程第十六篇 多线程十大经典案例之一 双线程读写队列数据
2013-03-13
Windows界面编程第八篇 listbox彩色显示隔行变色
2013-03-11
Windows界面编程第七篇 文件拖拽(文件拖放)
2013-03-11
电脑屏幕大小查看器(VC++带源码)
2013-03-03
MoreWindows界面编程第五篇 静态控件背景透明化
2013-01-06
MoreWindows界面编程第四篇 异形窗口2
2013-01-06
MoreWindows界面编程第三篇 异形窗口 1
2013-01-06
MoreWindows界面编程第一篇-位图背景与位图画刷
2012-12-31
OpenCV图像二值化
2012-12-05
VC,VS实用脚本--批量删除VC及VS临时文件
2012-11-27
MoreWindows白话经典算法之七大排序第2版(高清)
2012-09-10
MoreWindows白话经典算法之七大排序(高清版)
2012-07-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人