理解并发编程的一些基本概念很重要,给我们思考问题指明一个基本的方向。这篇说一说锁的一些基本概念。
在通常情况下我们说的锁都指的是“互斥”锁,因为在还存在一些特殊的锁,比如“读写锁”,不完全是互斥的。这篇文章说的锁专指互斥锁。
锁是处理并发的一种同步手段。单线程程序和并发程序的最终目的都是要保证程序的正确性,但是最大的区别是:
单线程程序的正确性只关注程序的运行结果和目标是一致...
分类:
其他好文 时间:
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
第一章节:共享锁(读锁),排他锁(写锁)查询数据表所使用的存储引擎:show table status like '表名' \G转换数据表的存储引擎:alter table 表名 engine=引擎名称as:alter table mytable engine=Innodb;---------第三章...
分类:
数据库 时间:
2014-09-21 03:37:39
阅读次数:
250
本文是学习网络上的文章时的总结,感谢大家无私的分享。
读写锁重要的是写锁的使用,只用一个入口。
下面是读写锁使用的例子
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
读写锁是用来解决读者写者问题的,读操作可以共享,写操作是排他的,读可以有多个在读,写只有唯一个在写,同时写的时候不允许读。互斥锁与读写锁的区别:当访问临界区资源时(访问的含义包括所有的操作:读和写),需要上互斥锁;当对数据(互斥锁中的临界区资源)进行读取时,需要上读取锁,当对数据进行写入时,需要上写...
分类:
其他好文 时间:
2014-09-13 11:53:15
阅读次数:
261
函数lockf()、fcntl()、flock()实现的互斥锁、多写锁的作用域是进程级的,这种锁不能用来保证多线程中数据的安全性和一致性。...
分类:
系统相关 时间:
2014-09-12 17:20:14
阅读次数:
725
public class CacheDemo { private Map cache = new HashMap(); public static void main(String[] args) { // TODO Auto-generated method stub } private Read...
分类:
其他好文 时间:
2014-09-05 09:49:51
阅读次数:
224