最新 最热

并发编程的三大核心问题

并发编程并不是一项孤立存在的技术,也不是脱离现实生活场景而提出的一项技术。相反,并发编程是一项综合性的技术,同时,它与现实生活中 的场景有着紧密的联系。并发编程有三大核心问题:分工问题同步问题互斥问题本文就对这...

2022-06-29
2

ReentrantLock 用法详解

此前的文章中我们介绍了 synchronized 锁的使用及实现原理:synchronized 的使用及实现原理文中,我们看到,jdk1.6 对 synchronized 锁进行了一系列的优化,使得我们再也不用为 synchronized 锁的性能担忧,在此之前,synchroniz...

2022-06-27
3

生产者/消费者问题

问题背景生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件对于生产者,生产了产品之后,又需要马上通知消费者消费,而生产足量时,暂停生产,等待消费者消费对于消费者,在消费之后,要通知生产者生产;而无产品...

2022-06-14
3

线程同步;Synchronized关键字

理解:由于我们可以通过关键字来保证数据对象只能被访问,所以我们只需要针对方法提供一套机制,这套机制就是关键字,它包括两种用法synchronized方法和synchronized块...

2022-06-14
2

Synchronizers

Synchronizer:根据自身状态调节线程的控制流。分类如下图:

2022-05-30
2

腾讯云后端15连问!

大家好,最近一位朋友(6年工作经验)面了腾讯云,以下是面试题和答案。加油,一起卷。

2022-05-23
3

线程同步

获取监视器只能避免其他线程再次获取这个监视器,而不能保护对象。即便对象的监视器锁定了,不同步的方法也能看到(和修改)不一致的状态。

2022-05-13
2

Synchronized和ReentryLock有什么区别?用新Lock有什么好处?

二,使用方法 synchronized 不需要用户去手动释放锁,当synchronized代码执行完后系统会自动让线程释放对锁的占用 ReentrantLock则需要用户去手动释放锁若没有主动释放锁,就有可能导致出现死锁现象。需要Lock()unLock()方法...

2022-05-13
3

notify和notifyall的区别

假设线程A已经拥有了某个对象(不是类)的锁,而其它线程B、C想要调用这个对象的某个synchronized方法(或者块),由于B、C线程在进入对象的synchronized方法(或者块)之前必须先获得该对象锁的拥有权,而恰巧该对象的锁目前正被线程A...

2022-05-13
2

多线程

阻塞---》就绪:sleep,join结束获取同步锁,notify,resume:过时方法

2022-05-10
2