
线程
文章平均质量分 65
蜗牛变涡流
代码下饭菜
展开
-
快速理解入门死锁概念(配Java实例)
1.什么是死锁? 先看看比较官方的解释:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去;此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。通俗来说,就是多个进程之间互相持有对方想要的资源,但又都不放手,从而形成的一种僵持的状态。跳出计算机概念,生活里其实不乏类似于这样死锁的概念。比如有两个互相竞争的死对头无意中得到了一个神人的馈赠,神人想要给这两人一个宝箱,...原创 2022-04-21 20:03:21 · 471 阅读 · 1 评论 -
用wait、notifiy实现生产者消费者模式
前要:生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。1.什么是wait方法?什么是notify方法?wait方法,字面意思是等待,所以是让线程进入阻塞状态的过程;notify,字面意思是通知,所以是让线程醒来的过程。对于生产者-消费者模式来说,这两.原创 2022-04-09 09:16:55 · 345 阅读 · 0 评论