socket网络编程1.进程间如何通信本地进程间通信我们知道有以下几种方式:1)消息传递(管道,FIFO,消息队列)管道是一个进程的数据流到另一个进程的通道,即一个进程的数据输出作为另一个进程的数据输入,管道起到了桥梁的作用。2)共享内存不同进程访问同一个逻辑内存3)同步互斥量,条件变量,读写锁,信 ...
分类:
其他好文 时间:
2016-12-03 00:44:50
阅读次数:
201
本文深入分析了并发锁ReentrantReadWriterLock读写锁的实现原理,由浅到深,从锁的内部数据结构开始分析,讲解了锁的存储原理、锁内部数据组织的优化性能到从源码讲解获取读锁、写锁的步骤,...
分类:
编程语言 时间:
2016-11-22 18:03:39
阅读次数:
508
8.1 概述 互斥锁:只允许一个线程进行数据的访问或更新。 读写锁:(1)只要没有线程对数据进行修改,则其他线程都能对数据进行读操作;(2)仅当没有线程对数据进行读/修改时,才能修改它。 8.2 读写锁 8.3 读写锁属性 ...
分类:
其他好文 时间:
2016-11-19 12:31:06
阅读次数:
163
转自:http://www.ibm.com/developerworks/cn/linux/l-rcu/ 一、 引言 众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中 ...
分类:
系统相关 时间:
2016-11-09 15:20:56
阅读次数:
291
引言 记录上锁是对读写锁的一种扩展,他可以用于有亲缘关系和无亲缘关系进程之间共享某个文件的读写。这中锁通常是在内核中维护的(与互斥锁和读写锁做比较)。 粒度:用于标记能被锁住的对象的大小。Posix记录上锁来说,粒度就是单个字节。 Posix fcntl 记录上锁 posix fcntl 记录上锁被 ...
分类:
其他好文 时间:
2016-11-05 14:44:05
阅读次数:
183
1.1 概述 IPC是进程间通信的简称。 IPC分为5个主要领域: (1)消息传递:管道、FIFO、消息队列 (2)同步:互斥锁、条件变量、读写锁、信号量 (3)共享内存:匿名共享内存、有名共享内存 (4)远程调用:Solaris门、Sun RPC (5)文件 1.2 进程、线程与信息共享 进程、线 ...
分类:
其他好文 时间:
2016-11-04 23:23:21
阅读次数:
192
遇到问题:晚10点,DBA在数据库建立了某collection的索引。在之后的几分钟,恰巧有同事访问某应用,验证该应用的账号需从数据库某表查询账号密码。导致了无法查询,同事无法登录上应用。问题便反馈到了运维部。背景介绍:Mongodb版本3.0.2建索引和collection和账号查询collecti..
分类:
数据库 时间:
2016-11-03 19:18:19
阅读次数:
162
一、读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 针对这种场景,JAVA的并发 ...
分类:
其他好文 时间:
2016-10-26 16:26:31
阅读次数:
333
一、网络中进程之间如何通信? 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 1、消息传递(管道、FIFO、消息队列) 2、同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量) 3、共享内存(匿名的和具名的) 4、远程过程调用(Solaris门和Sun RPC) 1、消息传递(管 ...
分类:
编程语言 时间:
2016-10-18 18:43:36
阅读次数:
248
在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞争资源的安全访问,但是这种锁不区分读写,称这种锁为普通锁。为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,在一定程度上提高了程序的执行效率。 在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞 ...
分类:
编程语言 时间:
2016-10-13 17:05:18
阅读次数:
202