
并发编程
nnzhuilian
这个作者很懒,什么都没留下…
展开
-
ReentrantLock 中 Mutex 的lock()和trylock()方法的区别
lock()与trylock()的实现如下:lock是通过同步器的模板方法acquire实现的trylock是自定义的重载方法tryAcquire()示例实现如下:lock函数和tryLock函数都是用于锁定对象,但他们之间有一定的区别:lock函数是阻塞的,(因为它调用WaitForSingleObject函数时传递的第二个参数是INFINITE,表示无限等待...原创 2018-10-16 10:55:46 · 1665 阅读 · 0 评论 -
多线程/并发编程面试题汇总
面经:https://www.nowcoder.com/discuss/136707去哪儿(一面)1.讲一下多线程创建线程 线程池 线程安全 线程间的通信2.synchronized和lock区别途家(一面):1.线程池讲一下,7个参数,4种还是5种线程池类型2.手写生产者消费者代码,不能用阻塞队列 网上的总结帖java并发面试题(一)基础多线程...原创 2018-10-29 16:56:01 · 348 阅读 · 0 评论 -
Java设计模式——单例模式(5种),及其双重检查锁定问题
饿汉模式1.将构造方法私有化2.私有静态实例化3.传出构造完的私有实例class Singletone {//饿汉模式 private static Singletone s = new Singletone();//必须在这里实例化,静态,私有 private Singletone() {//必须把构造函数申明为私有 } public static Singlet...原创 2018-11-19 10:41:18 · 207 阅读 · 0 评论 -
高并发和锁
这里写自定义目录标题高并发与锁场景:多个用户抢一张票高并发与锁面试被问到了这个问题,找了答案,记录一下场景:多个用户抢一张票假如有100W个用户,抢一张票,除了负载均衡的办法,怎么支持高并发?修改字段 :将库存字段number字段设为unsigned,当库存为0时,因为字段不能为负数,将会返回false;利用悲观锁(不适合高并发):悲观锁,也就是在修改数据的时候,采用锁定状态,排斥外...原创 2019-04-28 20:14:58 · 2742 阅读 · 0 评论