首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发
订阅
萱萱家的爸比
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
并发编程-可重入锁ReentrantLock
今天我们来看看并发编程的可重入锁ReentrantLock,它和关键字synchronized非常的相像。ReentrantLock可以完全替代关键字synchronized,JDK6 以后synchronized进行了很多的优化,所以两者在性能上差距不大。建议能使用synch…
Java高并发实战,锁的优化
这里的锁优化主要是指 JVM 对 synchronized 的优化。 互斥同步进入阻塞状态的开销都很大,应该尽量避免。在许多应用中,共享数据的锁定状态只会持续很短的一段时间。自旋锁的思想是让一个线程在请求一个共享数据的锁时执行忙循环(自旋)一段时间,如果在这段时间内能获得锁,就…
Java 中的 Wait 和 Notify 机制
Wait 和 Notify 是 Java 面试中常见的问题,但是在平时工作中可能不常见到。大家或多或少知道些背景知识,例如二者均为 Object 类的方法,而不是 Thread 特有的(因为锁是每个对象都具有的特性,因此操作锁的方法也紧跟对象,没毛病),且都只能在同步代码块中调…
并发编程基础(下)
书接上文。上文主要讲了下线程的基本概念,三种创建线程的方式与区别,还介绍了线程的状态,线程通知和等待,join等,本篇继续介绍并发编程的基础知识。 当一个执行的线程调用了Thread的sleep方法,调用线程会暂时让出指定时间的执行权,在这期间不参与CPU的调度,不占用CPU,…
并发编程基础(上)
从我开始写博客到现在,已经写了不少关于并发编程的了,差不多还有一半内容整个并发编程系列就结束了,而今天这篇博客是比较简单的,只是介绍下并发编程的基础知识( = =!其实,对于大神来说,前面所有博客都是基础)。本来我不太想写这篇博客,因为这篇博客的很多内容都是以记忆为主,而且网上…
秒杀系统中流量削峰场景应该怎么解决?
如果你看过秒杀系统的流量监控图的话,你会发现它是一条直线,就在秒杀开始那一秒是一条很 直很直的线,这是因为秒杀请求在时间上高度集中于某一特定的时间点。这样一来,就会导致一 个特别高的流量峰值,它对资源的消耗是瞬时的。 但是对秒杀这个场景来说,最终能够抢到商品的人数是固定的,也就…
Java并发编程,深入理解ReentrantLock
ReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁, 支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被阻塞。 ReentrantLock还支持公平锁和非公平锁两种方式。 那么,要想完完全全的弄懂Reen…
一篇文章带你解析,乐观锁与悲观锁的优缺点
总是假设最好的情况,每次去读数据的时候都认为别人不会修改,所以不会上锁, 但是在更新的时候会判断一下在此期间有没有其他线程更新该数据, 可以使用版本号机制和CAS算法实现。 乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库提供的类似于write_condition机制,…