摘要:
原子类 java.util.concurrent.atomic包:原子类的小工具包,支持在单个变量上解除锁的线程安全编程 原子变量类相当于一种泛化的 volatile 变量,能够支持原子的和有条件的读-改-写操作。AtomicInteger 表示一个int类型的值,并提供了 get 和 set 方法 阅读全文
posted @ 2018-10-26 18:41
toov5
阅读(7066)
评论(2)
推荐(0)
摘要:
悲观锁和乐观锁与CAS无锁机制很相关 乐观锁本质是无锁的 所以没有阻塞等待嘛 效率比较高 重试 --CAS无所机制 乐观锁 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CA 阅读全文
posted @ 2018-10-26 17:23
toov5
阅读(193)
评论(0)
推荐(0)
摘要:
相比Java中的锁(Locks in Java)里Lock实现,读写锁更复杂一些。假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁。在没有写操作的时候,两个线程同时读一个资源没有任何问题,所以应该允许多个线程能在同时读取共享资源。但是如果有一个线程想去写这些共享资源,就不应 阅读全文
posted @ 2018-10-26 16:49
toov5
阅读(236)
评论(0)
推荐(0)
摘要:
锁的种类: 读写锁 悲观锁 乐观锁 CSA无锁 自旋锁 AQS 非公平锁 公平锁 互斥锁 排它锁 分布式锁(redis实现 和 zk实现) 轻量级锁(lock),重量级锁(synchronize) 重入锁 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 阅读全文
posted @ 2018-10-26 15:34
toov5
阅读(1767)
评论(0)
推荐(0)
摘要:
根据前面我所说的Futrue模式,手写一个: 分别对应的Java代码,大家拿来参考: 启动类主函数: 结果: 大家对应着上一篇博客好好研究下,这个模式的应用场景还是蛮多的。代码挺有趣的。 当要获取资源的时候,data.getResult() ,如果资源没有准备好false;那么就会阻塞该线程。直到资 阅读全文
posted @ 2018-10-26 14:32
toov5
阅读(353)
评论(0)
推荐(0)

浙公网安备 33010602011771号