多线程(windows)
文章平均质量分 74
辉狼007
我知道我很菜,但是我相信,只要我每天进步一点,在菜的鸟有一天也会飞上蓝天白云的!
展开
-
线程同步互斥之信号量对象(Semaphore)
信号量对象对线程的同步方式与前面几种方法不同,信号允许多个线程和进程同时使用共享资源,这与操作系统中的PV操作相同。它指出了同时访问共享资源的线程最大数目。它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目。在用CreateSemaphore()创建信号量 时即要同时指出允许的最大资源计数和当前可用资源计数。一般是将当前可用资源计数设置为最大资源计数,每增加一个线程原创 2015-08-21 17:45:45 · 1768 阅读 · 0 评论 -
线程同步互斥之互斥量(Mutex)
上一篇文章复习了下临界区(Critical Section),现在来复习下互斥量对象(Mutex Object)。 其实互斥对象和临界区对象差不多,都是为了在多个线程访问公共数据块时,只允许一个线程访问此公共数据块。但是临界区是用户对象,互斥是内核对象;还有,在效率上来说,临界区效率高于互斥对象,下面来具体的看看。 准备知识: 1、内核对象互斥体(Mutex)的工作机理,WaitF原创 2015-08-21 16:15:18 · 563 阅读 · 0 评论 -
多线程之临界区(Critical Section)
现在来具体的说下个人对临界区对象的看法和理解。 上一篇文章说过,线程的同步互斥对象分为两种:用户对象和内核对象。临界区属于用户对象而不是内核对象。 临界区(Critical Section):通过对线程的串行化来访问公共资源或一段代码,速度快、适合控制数据的访问。是保证某一时刻只有一个线程访问数据的简便方法。在任何时刻只允许一个线程对共有的资源进行访问。如果有多个线程试图同时访问临界区,那原创 2015-08-21 15:27:58 · 2376 阅读 · 0 评论