码迷,mamicode.com
首页 >  
搜索关键字:可重入    ( 496个结果
Java中的锁
在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。公平锁和非公平锁公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。公平锁的好处是等待锁的线程不会饿死,但是整体效率相对低一些;非公平锁的好处是整体效率相对高一些,但是有...
分类:编程语言   时间:2016-04-22 20:23:53    阅读次数:221
使用Lock(ReentrantLock)结合Condition实现自定义线程池
声明: 1、该篇只是提供一种自定义线程池的实现方式,可能性能、安全等方面需要优化; 2、该篇自定义线程池使用Lock(可重入锁ReentrantLock)结合Condition来实现; 3、该篇力求使用简单的方式呈现,如有错误之处,欢迎指正,在此表示感谢。 概述 自定义线程池三要素包括: 1、存储线 ...
分类:编程语言   时间:2016-04-20 19:51:02    阅读次数:375
MapReduce源码分析之LocatedFileStatusFetcher
LocatedFileStatusFetcher通过多线程的方式,实现了针对给定输入路径数组,使用配置的线程数目来获取数据块位置的核心功能。它通过google的可监听并发技术ListenableFuture、ListeningExecutorService,实现了两层级别的子任务的并发执行、结果监听与回调处理,还使用了可重入互斥锁ReentrantLock、多线程间协调通信工具Condition来解决多线程之间的并发同步问题,特别是主任务线程与子任务线程间的主从协调、通信等。...
分类:其他好文   时间:2016-04-20 16:27:44    阅读次数:209
synchronized的可重入性
今天看并发编程实战,看到一个实例 public class Widget { public synchronized void doSomething() { ... } } public class LoggingWidget extends Widget { public synchronize ...
分类:其他好文   时间:2016-04-15 19:47:53    阅读次数:125
ReentrantLock可重入锁的使用场景(转)
摘要 从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些。 场景1:如果发现该操作已经在执行中则不再执行(有状态执行) a、用在定时任务时,如果任务执行时间可能超过下次计划执行时间,确保该有状态任务只有一个正在执行,忽略重复触发。b、用在界面交互时点击执行较长时间请求 ...
分类:其他好文   时间:2016-04-12 22:21:13    阅读次数:183
可重入锁(good)
可重入锁,也叫做递归锁,是指在一个线程中可以多次获取同一把锁,比如:一个线程在执行一个带锁的方法,该方法中又调用了另一个需要相同锁的方法,则该线程可以直接执行调用的方法【即可重入】,而无需重新获得锁;https://www.zhihu.com/question/23284564/answer/296 ...
分类:其他好文   时间:2016-04-12 22:20:17    阅读次数:281
可重入概念
主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能 ...
分类:其他好文   时间:2016-04-05 19:28:05    阅读次数:119
Java 1.7 ReentrantReadWriteLock源码解析
由于本人水平与表达能力有限,有错误的地方欢迎交流与指正。 1 简介 可重入读写锁时基于AQS实现的,典型的使用方法如JDK1.7中的示例:   class RWDictionary {       private final Map m = new TreeMap();       private final ReentrantReadWriteLock rwl =...
分类:编程语言   时间:2016-03-31 11:06:14    阅读次数:262
android线程消息传递机制——Looper,Handler,Message
android线程消息传递机制——Looper,Handler,Message 在引入这些概念之前,我们先了解一下引入这些机制的背景。 出于性能优化的考虑,Android的UI操作并不是线程安全的(如果你不懂什么是线程安全,可以阅读一下<一起探究多进程与多线程>里的数据安全与可重入),这意味着如果有
分类:移动开发   时间:2016-03-11 14:06:25    阅读次数:166
在C 函数中保存状态:registry、reference和upvalues
C函数可以通过堆栈来和Lua交换数据,但有时候C函数需要在函数体的作用域之外保存某些Lua数据,那么我们想到全局变量或static变量,这样做的缺点是:(1)为Lua设计C函数库时,导致不可重入;(2)不是所有的Lua值都能很好的保存到C变量中。那么可不可以将值保存在Lua全局变量里面呢,可以,Lua就提供了一个独立的被称为registry的表,但是Lua代码本身不能访问它。...
分类:其他好文   时间:2016-02-25 12:03:31    阅读次数:143
496条   上一页 1 ... 39 40 41 42 43 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!