码迷,mamicode.com
首页 >  
搜索关键字:临界区    ( 571个结果
Java并发概念-1
一,同步 和 异步: 同步:调用方需要等待被调用方回应之后,才能进行下一步动作。 异步:调用方不需要等待被调用方回应,直接继续自己的动作。在未来某个时间点可能会有被调用方的回应。 二,并发 和 并行 并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。 三,临界区 ...
分类:编程语言   时间:2016-04-06 23:02:11    阅读次数:255
竞态条件和临界区
1. 临界区和竞态条件: 临界区:访问和操作共享数据的代码段; 竞态条件:当有多个线程同时进入临界区时,执行结果取决于线程的执行顺序; 如下述代码,当多个线程同时调用func函数,对共享数据sum进行操作,实际上我们得到的结果则依赖于执行的相对时间; 线程1在a.取出sum值,然后b.对sum+1, ...
分类:其他好文   时间:2016-03-30 19:39:14    阅读次数:127
spinlock剖析与改进
1, spinlock介绍 spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任何时刻时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切...
分类:其他好文   时间:2016-03-26 07:47:50    阅读次数:344
ConcurrentHashMap
曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。    集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Que
分类:其他好文   时间:2016-03-14 12:11:39    阅读次数:194
linux设备驱动中的并发控制
并发指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源的访问则很容易导致竞态 linux内核中主要竞态1.多对称处理器的多个CPU 2.单CPU内进程与抢占它的进程 3.中断(硬中断、软中断、Tasklet、下半部)与进程之间访问共享内存资源的代码区称为“临界区”,临界区需要被以某种互斥
分类:系统相关   时间:2016-03-12 01:29:18    阅读次数:319
并发编程
并发编程之内存可见性 并发编程之内存可见性 在上篇线程安全中,我们已经知道需要使用锁来同步管理对可变状态的访问操作。今天我们来看下并发编程的内存可见性问题。 同步代码块除了实现原子性或者临界区之外,其还保证了内存可见性,即保证其他线程可以看到状态的变化结果。 private static boole
分类:其他好文   时间:2016-03-08 00:22:30    阅读次数:161
并发编程之内存可见性
<!-- p { margin-bottom: 0.25cm; line-height: 120%; } --> 并发编程之内存可见性 在上篇线程安全中,我们已经知道需要使用锁来同步管理对可变状态的访问操作。今天我们来看下并发编程的内存可见性问题。 同步代码块除了实现原子性或者临界区之外,其还保证了
分类:其他好文   时间:2016-03-07 23:55:57    阅读次数:147
深入理解Java内存模型(五)——锁
锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。 下面是锁释放-获取的示例代码: class MonitorExample { int a = 0; public synchr
分类:编程语言   时间:2016-02-03 01:05:59    阅读次数:281
聊聊高并发(二十五)解析java.util.concurrent各个组件(七) 理解Semaphore
前几篇分析了一下AQS的原理和实现。这篇拿Semaphore信号量做样例看看AQS实际是怎样使用的。 Semaphore表示了一种能够同一时候有多个线程进入临界区的同步器,它维护了一个状态表示可用的票据,仅仅有拿到了票据的线程尽能够进入临界区,否则就等待。直到获得释放出的票据。Semaphore经常
分类:编程语言   时间:2016-02-02 15:08:17    阅读次数:234
深入理解Java内存模型(五)——锁
本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-5 锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个
分类:编程语言   时间:2016-01-31 21:47:18    阅读次数:262
571条   上一页 1 ... 34 35 36 37 38 ... 58 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!