Windows多线程
yuweihuangda1234
这个作者很懒,什么都没留下…
展开
-
多线程第七篇 经典线程同步与互斥总结
前面《多线程二 多线程中的隐蔽问题揭秘》提出了一个经典的多线程同步互斥问题,这个问题包括了主线程与子线程的同步,子线程间的互斥,是一道非常经典的多线程同步互斥问题范例,后面分别用了四篇 《多线程三 经典线程同步之关键段CS》 《多线程四 经典线程同步之互斥量Mutex》 《多线程五 经典线程同步之事件Event》 《多线程六 经典线程同步之信号量Semaphore》转载 2015-07-09 11:03:35 · 366 阅读 · 0 评论 -
多线程第八篇 生产者消费者经典问题
继经典线程同步问题之后,我们来看看生产者消费者问题及读者写者问题。生产者消费者问题是一个著名的线程同步问题,该问题描述如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,显然生产者和消费者之间必须保持同步,即不允许消费者到一个空的缓冲区转载 2015-07-09 11:25:22 · 447 阅读 · 0 评论 -
多线程第一篇 CreateThread与_beginthreadex的本质区别
1. 具体说来,CreateThread这个 函数是windows提供给用户的 API函数,是SDK的标准形式,在使用的过程 中要考虑到进程的同步与互斥的关系,进程间的同步互斥等一系列会导致操作系统死锁的因素,用起来比较繁 琐一些,初学的人在用到的时候可能会产生不可预料的错误,建议多使用AfxBeginThread,是编译器对原来的 CreateThread函数的封装,用与MFC转载 2015-07-07 15:10:07 · 392 阅读 · 0 评论 -
多线程第二篇 多线程中的隐蔽问题揭秘
上一篇《多线程一 CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数的变量递增。程序在最后输出计数的值表示有今天多少个用户登录,如果这个值不等于我们启动的线程个数,那显然说明这个转载 2015-07-09 13:25:14 · 315 阅读 · 0 评论 -
多线程第三篇 经典线程同步之关键段CS
1、本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。 定义关键段变量:CRITICAL_SECTION g_csThreadParameter, g_csThreadCode; 关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。 1)函数原型:void InitializeCriticalSection转载 2015-07-09 13:28:08 · 360 阅读 · 0 评论 -
多线程第六篇 经典线程同步之事件Event
1、首先介绍下如何使用事件。 事件Event实际上是个内核对象,它的使用非常方便。下面列出一些常用的函数。 1)第一个 CreateEvent 函数功能:创建事件 函数原型: HANDLE CreateEvent( LPSECURITY_ATTRIBUTESlpEventAttributes, BOOLbManualReset, BOOLbI转载 2015-07-09 10:38:28 · 329 阅读 · 0 评论 -
多线程第五篇 经典线程同步之信号量Semaphore
1、首先来看看如何使用信号量 信号量Semaphore常用有三个函数,使用很方便。下面是这几个函数的原型和使用说明。 第一个 CreateSemaphore 函数功能:创建信号量 函数原型: HANDLE CreateSemaphore( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG l转载 2015-07-09 11:44:43 · 426 阅读 · 0 评论 -
多线程第四篇 经典线程同步之互斥量Mutex
1、互斥量是一个内核对象,它用来确保一个线程独占一个资源的访问。 互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互斥访问资源。使用互斥量Mutex主要将用到四个函数。下面是这些函数的原型和使用说明。 1)第一个 CreateMutex 函数功能:创建互斥量(注意与事件Event的创建函数对比) 函数原型: HANDLE CreateMutex转载 2015-07-09 13:29:44 · 389 阅读 · 0 评论