码迷,mamicode.com
首页 >  
搜索关键字:加锁    ( 2232个结果
Java多线程编程4--Lock的使用--公平锁和非公平锁
公平与非公平锁:锁Lock分为“公平锁”和“非公平锁”,公平锁表示线程获取锁的顺序是按照线程加锁的顺序来分配的,即先来先得的FIFO先进先出顺序。而非公平锁就是一种获取锁的抢占机制,是随机获得锁的,和公平锁不一样的就是先来的不一定先得到锁,这个方式可能造成某些线程一直拿不到锁,结果也就是不公平的了。 1、公平锁实例 public class Service { private Re...
分类:编程语言   时间:2016-05-13 03:08:01    阅读次数:139
设计模式-单例模式(Singleton)在Android开发应用场景思考和遇到的坑
介绍在上篇博客中我详细说明了各种单例的写法和问题。以为我们已经找到很好单例写法和问题解决办法。但是Java就是这么有意思,总有新的想法提出和问题出现。 上篇博客的的双重检查加锁(double checked locking)单例在Java1.5之前也会某种情况下产生多个实例,并且volatile关键字也会导致的一些复杂的问题枚举单例在《Effective Java 》第二版第3条中,提到这一句话...
分类:移动开发   时间:2016-05-12 23:31:41    阅读次数:474
java 线程三
线程间的通信问题。 注意同步的前提: 1,有两个或两个以上的线程 2,用同一个锁 wait() notify() notifyAll() 以上方法都是定义在Object类中的方法。 都使用在同步中,因为要对持有监视器(加锁)的线程操作。 所以要使用在同步中,因为只有同步才会有锁。 为什么这些操作线程的方法要定义在Object类中呢? 因为这些方法在操作同步中线程时,都...
分类:编程语言   时间:2016-05-12 20:57:40    阅读次数:154
@property的参数
参数类别 参数 说明 原子性 atomic 对属性加锁,多线程下线程安全,默认值 nonatomic 对属性不加锁,多线程下不安全,但速度快 读写属性 readwrite 生成getter、setter方法,默认值 readonly 只生成getter方法 set方法处理 assign 直接赋值,默认值 retain...
分类:其他好文   时间:2016-05-12 18:22:21    阅读次数:114
Java 集合框架-Vector
/* 复习集合框架: Collection |--List:有序的,可重复,有索引 |--ArrayList:底层数据结构是基于数组的,查询速度快,增删速度较慢 |--LinkedList:底层数据结构是基于链表的,查询速度慢,增删速度较快 |--Vector:ArrayList是对Vector的版本升级,Vector是线程同步的,而ArrayList是线程不同步的,需要加锁。 |...
分类:编程语言   时间:2016-05-12 16:15:20    阅读次数:132
android多线程----同步集合
一、程序中的优化策略—-CopyOnWriteArrayList Copy-On_Write 是一种用于程序设计中的优化策略,器基本思路是: 从多个线程共享同一个列表,当某个线程想要修改这个列表的元素时,会把列表的元素Copy一份,然后进行修改,修改完成之后在在将新的元素设置给这个列表,这是一种懒惰策略。这样做的好处是我们可以对CopyOnWrite容器进行并发的读,而不要加锁,因为当前容器不会...
分类:移动开发   时间:2016-05-12 13:26:32    阅读次数:177
【Scala】Vector内部结构与内存共享原理
Scala不可变集合Scala不可变集合的设计目标是提供高效又安全的实现。这些集合中的大部分都是用高级技巧来在集合的不同版本之间“共享”内存。其中较长使用到的是Vector和List。 在一般的编程任务中,不可变集合有很多超出可变集合的优点。尤其重要的一点是不可变集合可以在多线程之中共享而无需加锁。Vector内部结构Scala的Vector实现为一组嵌套数组,在分割和连接时非常有效率。适用于大部...
分类:其他好文   时间:2016-05-12 11:59:40    阅读次数:183
[No000092]SVN学习笔记3-Import/Checkout(迁入/迁出),GetLock(加锁)
一、TortoiseSVN Client 获取服务器端的文件到新的本地文件夹 1.在本地新文件夹上右键菜单: 2.打开Repo-browser(可能需要输入你的用户名&密码) 3.输入服务器端SVN(仓库)的地址,OK后就可以看到服务器端的目录了 @1.可以查看服务端不同版本号下的数据; @2.如果 ...
分类:其他好文   时间:2016-05-11 15:08:04    阅读次数:1306
同步代码块、同步方法以及同步锁的语法
1.同步代码块 在Thread子类run()方法代码块之外套一个下面的代码 这里的obj就是需要锁定的对象。 2.同步方法 只要在可变类中修改方法上,加上syschronized修饰即可。 注:同步方法的同步监视器是this。 3.同步锁 先在类中定义锁对象,然后在需要保证线程安全的方法中加锁(锁变 ...
分类:其他好文   时间:2016-05-11 09:38:19    阅读次数:526
分布式锁 ----zookeeper实践 (排它锁)
排它锁概念: Exclusive Locks,被称为X锁,写锁,独占锁.如果事物T1对数据对象O1加上了排它锁,那么在整个加锁期间,只允许事务T1对O1进行读写操作,其他事务必须等到T1释放锁后才能进行操作.在单机环境中,JDK提供了synchronized关键字和ReentrantLock 重用锁 ...
分类:其他好文   时间:2016-05-10 09:42:42    阅读次数:147
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!