![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 94
weixin_43643617
这个作者很懒,什么都没留下…
展开
-
4 浅谈JAVA 中的锁
1 悲观锁和乐观锁1.1 悲观锁定义认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。synchronized关键字和Lock的实现类都是悲观锁适合场景适合写操作多的场景,先加锁可以保证写操作时数据正确。代码//=============悲观锁的调用方式public synchronized void m1(){ //加锁后的业务逻辑......}// 保证多个线程使用的是同一个lock对象的前提下Reen原创 2022-03-14 19:28:36 · 1054 阅读 · 0 评论 -
3 线程池
1 阻塞队列1.1 阻塞队列概述阻塞队列,顾名思义,首先它是一个队列, 通过一个共享的队列,可以使得数据 由队列的一端输入,从另外一端输出1 当队列是空的,从队列中获取元素的操作将会被阻塞2 当队列是满的,从队列中添加元素的操作将会被阻塞3 试图从空的队列中获取元素的线程将会被阻塞,直到其他线程往空的队列插入新的元素4 试图向已满的队列中添加新元素的线程将会被阻塞,直到其他线程从队列中移除一个或多个元素或者完全清空,使队列变得空闲起来并后续新增1.2 阻塞队列架构1.3 阻塞队列种原创 2022-03-05 11:27:41 · 66 阅读 · 0 评论 -
2 多线程生产消费问题
1 生产者和消费者模式概述生产消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据为了耦合生产者和消费者的关系,通常会采用共享的数据区域,就像一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中获取数据,并不需要关心生产者的行为2 使用Sychronized实现生产者和消费者为了体现生产和消费过程总的等待和唤醒,Java就提供了几个方法供我们使用,这几个方法就在Object类中Ob原创 2022-02-28 21:37:27 · 180 阅读 · 0 评论 -
1 多线程概述
1 多线程基本概念1.1 线程与进程进程和线程的概念进程:进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。线程:线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位管程:Monitor(监视器),也就是我们平时所说的锁举例:你打开一个word就是一个进程开启了,你打字的时候,单词打错了,word中会有一个波浪线,这就是一个线程在检查进程与线程的区别1 线程原创 2022-02-24 19:14:55 · 188 阅读 · 0 评论