●boost锁的概述boost库中提供了mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁。▲mutex对象类mutex类主要有两种:boost::mutex,boost::shared_mutex,其中mutex有lock和unlock方法,shared_mutex除了提供lock和u...
分类:
其他好文 时间:
2014-06-15 23:47:04
阅读次数:
312
为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,如果没有写锁的情况下,读是无阻塞的,在一定程度上提高了程序的执行效率。Java中读写锁有个接口java.util.concurrent.locks.ReadWriteLock,也有具体的实现ReentrantRea...
分类:
其他好文 时间:
2014-06-11 13:31:23
阅读次数:
354
在前面我们在解决线程同步问题的时候使用了synchronized关键字,今天我们来看看Java 5.0以后提供的线程锁Lock.Lock接口的实现类提供了比使用synchronized关键字更加灵活和广泛的锁定对象操作,而且是以面向对象的方式进行对象加锁。 @Override
public void run() {
while(true){
Lock lock = new Re...
分类:
移动开发 时间:
2014-06-11 00:57:51
阅读次数:
329
概述
互斥锁把试图进入我们称之为临界区的所有其他线程都阻塞住。该临界区通常涉及对由这些线程共享一个或多个数据的访问或更新。读写锁在获取读写锁用于读某个数据和获取读写锁用于写直接作区别。读写锁的分配规则如下:
1、只要没有线程持有某个给定的读写锁用于写,那么任意数目的线程可以持有该读写锁用于读。
2、仅当没有线程持有某个给定的读写锁用于读或用于写时,才能分配该读写锁用于写。
即只要没有线程在...
分类:
系统相关 时间:
2014-06-08 09:54:51
阅读次数:
344
1、网络中进程之间如何通信?
本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:
消息传递(管道、FIFO、消息队列)
同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)
共享内存(匿名的和具名的)
远程过程调用(Solaris门和Sun RPC)
但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则...
分类:
系统相关 时间:
2014-06-05 07:39:53
阅读次数:
376
读写锁编辑读写锁
(rwlock)功能特点简介读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的逻辑...
分类:
其他好文 时间:
2014-05-30 00:50:45
阅读次数:
292
ReentrantReadWriteLock是一个读写锁,它提供了一个读锁和一个写锁,读锁用于只读操作,而写锁用于写入操作,读操作可以并行进行,而写操作则是互斥的。读锁和写锁的分离在一些写少读多的应用中可以带来性能上的提升,例如:一个hashmap在构造之后很少修改,却经常进行查找操作,这样查找操作就可以并发进行从而提高性能。这篇文章首先为你介绍读写锁的基本特性,在具体应用中需要解决的问题,然后介...
分类:
其他好文 时间:
2014-05-21 16:09:03
阅读次数:
304
自旋锁
自旋锁(spin lock)是用来在多处理器环境中gongz...
分类:
其他好文 时间:
2014-05-18 02:58:29
阅读次数:
475
多线程编程之线程私有数据
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
线程同步从互斥量【C/C++多线程编程之六】pthread互斥量,信号量【C/C++多线程编程之七】pthread信号量,条件变量【C/C++多线程编程之八】pthread条件变量,读写锁【C/C++多线程编程之九】pthread读写锁,多线程的同...
分类:
编程语言 时间:
2014-05-10 10:03:14
阅读次数:
446
2005 年 7 月 01 日本文详细地介绍了 Linux 2.6 内核中新的锁机制
RCU(Read-Copy Update)
的实现机制,使用要求与典型应用。一、引言众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一...
分类:
其他好文 时间:
2014-05-09 17:49:48
阅读次数:
477