以下内容来自:http://blog.csdn.net/morewindows/article/details/7650574 前面我们使用事件和一个记录读者个数的变量来解决读者写者问题。问题虽然得到了解决,但代码有点复杂。本篇将介绍一种新方法——读写锁SRWLock来解决这一问题。读写锁在对资源....
分类:
编程语言 时间:
2014-10-27 12:32:22
阅读次数:
328
1 一个资源同时可以有多个读写,但是只能有一个写锁2 用flag代表锁的状态,#define un_lock 0#define r_lock1 //上一把读锁加一个r_lock#define w_lock -1伪代码1 LOCK_Rpthread_lock(resource.mutex)while(...
分类:
其他好文 时间:
2014-10-19 12:51:23
阅读次数:
150
线程同步的方式包括:互斥锁、读写锁、条件变量、信号量和令牌。互斥锁和读写锁: 提供对临界资源的保护,当多线程试图访问临界资源时,都必须通过获取锁的方式来访问临界资源。(临界资源:是被多线程共享的资源)当读写线程获取锁的频率 差别不大时,一般采用互斥锁,如果读线程访问临界资源的频率大于写线程,这个时候...
分类:
编程语言 时间:
2014-10-19 01:14:37
阅读次数:
357
IPC是进程间通信的简称.传统上该术语描述的是运行在某个操作系统之上的不同进程间消息传递的不同方式.我们讨论分为四个领域:消息传递(管道,FIFO,消息队列(system v消息队列,posix消息队列));同步(互斥锁,条件变量,读写锁,信号灯)共享内存区(匿名共享内存区,有名共享内存区)过程调用...
分类:
系统相关 时间:
2014-10-11 19:06:56
阅读次数:
237
理解并发编程的一些基本概念很重要,给我们思考问题指明一个基本的方向。这篇说一说锁的一些基本概念。
在通常情况下我们说的锁都指的是“互斥”锁,因为在还存在一些特殊的锁,比如“读写锁”,不完全是互斥的。这篇文章说的锁专指互斥锁。
锁是处理并发的一种同步手段。单线程程序和并发程序的最终目的都是要保证程序的正确性,但是最大的区别是:
单线程程序的正确性只关注程序的运行结果和目标是一致...
分类:
其他好文 时间:
2014-10-09 01:59:38
阅读次数:
165
#include
#include
#include
#include
#include
static int i=0,j=100;//一个线程从0开始加,一个线程从100开始加
struct task_struct *MyThread1=NULL;//线程1
struct task_struct *MyThread2=NULL;//线程2
static int myVar = 0...
分类:
系统相关 时间:
2014-09-30 12:08:19
阅读次数:
305
Linux系统中的线程通信方式主要以下几种:*锁机制:包括互斥锁、条件变量、读写锁进程通信:管道(PIPE):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系(父子进程)的进程间使用。另外管道传送的是无格式的字节流,并且管道缓冲区的大小是有限的(管道缓冲区存在于内存中,在管道创建...
分类:
编程语言 时间:
2014-09-26 23:35:48
阅读次数:
246
本文是学习网络上的文章时的总结,感谢大家无私的分享。
读写锁重要的是写锁的使用,只用一个入口。
下面是读写锁使用的例子
package chapter2;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public cla...
分类:
编程语言 时间:
2014-09-17 15:16:52
阅读次数:
242
引子我们来看两个ajax方法,先后的问题,会有什么样的结果?Javascript: $(function () { //第一个 $.ajax({ type: "POST", url: "/Ho...
分类:
其他好文 时间:
2014-09-17 00:55:54
阅读次数:
267
一、什么是锁在Java的util.concurrent.locks包下有关于锁的接口和类如下:先看一段代码:package com.codeing.snail.test;
public class ReadWriteLockTest {
public static void main(String[] args) {
final Output output = new Output();...
分类:
移动开发 时间:
2014-09-16 00:20:29
阅读次数:
338