在视频播放机程序中,经常采用这样的架构: 一个负责读文件的线程,负责从媒体文件中读取数据并将数据包放入一个包队列(queue),另外有多个线程从这个包队列中取包并解码,然后交给负责显示的线程以便显示图像。...
分类:
编程语言 时间:
2015-04-14 02:03:55
阅读次数:
192
之前的文章讨论了互斥量、条件变量、读写锁和自旋锁用于线程的同步,本文将首先讨论Barriers和信号量的使用,并给出了相应的代码和注意事项,相关代码也可在我的github上下载,然后对线程各种同步方法进行了比较。
Barriers
Barriers是一种不同于前面线程同步机制,它主要用于协调多个线程并行(parallel)共同完成某项任务。一个barrier对象可以使得每个...
分类:
编程语言 时间:
2015-04-02 22:40:38
阅读次数:
468
第一部分:知识备忘1、进程间通信方式本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)但这些都不是本文的主题!我们要讨论的...
分类:
其他好文 时间:
2015-04-02 22:34:30
阅读次数:
234
Windows Vista及更新的Windows客户端系统,Windows Server 2008及更新的Windows服务器系统,新增了读写锁API函数,我们不用再手动编写读写锁了。 要使用读写锁,当然要包含Windows头文件,并定义一个SRWLOCK(结构...
先说最常见的一道面试题:hibernate中的load()方法和get()方法的区别用这些代码解释最好Useruser=session.load(id,User.class);Useruser=session.load(id,User.class);//缓存代理User$ProxyextendsUser{privateIntegerid=id;UserrealUser=null;getName(){if(realUser==null){re..
分类:
编程语言 时间:
2015-03-18 06:35:28
阅读次数:
145
将读书的内容归类,总结。便于日后查找、与大家分享。MySQL: (1)、最重要,最与众不同的特性是存储引擎结构,将查询处理及其他系统任务与数据的存储/提取分离。表中的字段的存储引擎可以任意设定。 (2)、存储引擎队友优化查询有影响。 (3)、读写锁。 (4)、锁粒度。表锁匙最基本的锁策略,并...
分类:
其他好文 时间:
2015-03-09 22:13:19
阅读次数:
191
进程/线程 同步.(posix)
互斥锁
条件变量
读写锁
记录上锁...
分类:
其他好文 时间:
2015-02-28 21:45:00
阅读次数:
286
IPC的3种技术:
进程(线程)间传递消息的6种接口:
1.管道
2.消息队列
3.过程调用
进程(线程)间同步的6种接口:
1.信号量(两种)
2.互斥量
3.条件变量
4.读写锁
5.记录上锁
进程(线程)间共享内存的2种接口:
1.匿名共享内存
2.有名共享内存...
分类:
系统相关 时间:
2015-02-28 18:40:12
阅读次数:
215
上文讨论了互斥量和条件变量用于线程的同步,本文将讨论读写锁和自旋锁的使用,并给出了相应的代码和注意事项,相关代码也可在我的github上下载。
读写锁
对于互斥量要么是锁住状态要么是不加锁锁状态,而且一次只有一个线程可以对其加锁,而读写锁对线程的读数据加锁请求和写数据加锁请求进行了区分,从而在某些情况下,程序有更高的并发性。对于读写锁,一次只有一个线程可以占有写模式的读写锁,但是多个线程可...
分类:
编程语言 时间:
2015-02-25 17:08:45
阅读次数:
162