概率论基本概念
离散变量
概率论中的两个基本法则:加法法则和乘法法则,加法法则定义了随机变量X与条件变量Y之间的直接联系。乘法法则定义了概率学中最重要的条件概率,同时也可以叫做联合概率,因为它描述了事件X和Y同时发生的概率。
通过上面公式可以推到出条件概率公式:
进而可以得到著名的贝叶斯公式,贝叶斯公式广泛的应用于科学界,这也被称为后验概率,因为它在咱们知道...
分类:
系统相关 时间:
2015-07-29 23:03:39
阅读次数:
1124
互斥锁一个明显的缺点是,他只有两个状态:锁定和非锁定。而条件变量通过同意线程堵塞和等待还有一个线程发送信号的方法弥补了相互排斥锁的不足,他常和相互排斥锁一起使用。使用时,条件变量被用来堵塞一个线程,当条件不满足时。线程往往解开对应的相互排斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量。他将...
分类:
其他好文 时间:
2015-07-27 14:45:38
阅读次数:
198
分析muduo网络库中,用于现场同步的互斥量和条件变量,以及一个组合CountDownLatch...
分类:
其他好文 时间:
2015-07-26 15:50:43
阅读次数:
297
线程同步-条件变量
生产者与消费者问题
再引入条件变量之前,我们先看下生产者和消费者问题:生产者不断地生产产品,同时消费者不断地在消费产品。
这个问题的同步在于两处:第一,消费者之间需要同步:同一件产品只可由一人消费。第二,当无产品可消费时,消费者需等待生产者生产后,才可继续消费,这又是一个同步问题。详细了解:生产者消费者问题。
条件变量
条件变量是利用线程间共享的全局变量进行同步的一种机制,并且条件变量总是和互斥锁结合在一起。
相关函数...
分类:
编程语言 时间:
2015-07-26 12:46:01
阅读次数:
518
一、NSCondition是对条件变量和互斥量的一个封装,用于线程之间的同步。 其中的互斥量用于保护对条件变量的修改,条件变量变化以信号量的方式通知其它线程实现线程之间的同步。 二、NSCondition的API NSCondition实现了NSLocking协议,这个协议定义了lock和un...
分类:
其他好文 时间:
2015-07-24 12:31:16
阅读次数:
126
来自:http://blog.chinaunix.net/space.php?uid=23061624&do=blog&cuid=2127853信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥...
分类:
其他好文 时间:
2015-07-21 12:17:44
阅读次数:
118
说明:对多线程与互斥锁不熟悉的请参考其它
#include
#include
#include
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;/*初始化互斥锁*/
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;/*初始化条件变量*/
void *thread1(void *);
v...
分类:
编程语言 时间:
2015-07-17 16:23:19
阅读次数:
177
c++11 多线程 – 基本使用
前言:这篇文章仅针对没有使用过c++11线程库的童鞋来快速入门,也是自己的一个简单记录,内容比较基础。
-1.线程的基本使用
-2.互斥量
-3.条件变量
-4.原子变量1.线程的基本使用代码:#include
#include
#include
#include
#incl...
分类:
编程语言 时间:
2015-07-17 09:50:23
阅读次数:
137
1.互斥量的存在问题:互斥量是线程程序必需的工具,但它们并非万能的。例如,如果线程正在等待共享数据内某个条件出现,那会发生什么呢?它可以重复对互斥对象锁定和解锁,每次都会检查共享数据结构,以查找某个值。但这是在浪费时间和资源,而且这种繁忙查询的效率非常低。在每次检查之间,可以让调用线程短暂地进入睡眠...
分类:
编程语言 时间:
2015-07-13 17:48:16
阅读次数:
165
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。
1、互斥锁(mutex)
通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。
int pthread_mutex_init(pthread_mutex_t *mutex,const pthre...
分类:
编程语言 时间:
2015-07-11 09:09:12
阅读次数:
151