![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发与多线程
Ga_Lip
计算机硕士在读。
展开
-
Java线程间通信
Java线程间通信线程间通信又称为进程内通信,多个线程实现互斥访问共享资源时会互相发送信号或者等待信号。一、同步阻塞和异步非阻塞同步阻塞指的是客户端和服务器通信的时候,每向服务器请求一个事件,如果没有得到想要的结果,就进入阻塞状态,相应地,服务器要创建多个线程来一一处理每个请求,请求完成之后,返回给服务端结果,完成一次交互。缺点:同步事务提交,客户端等待时间过长。系统吞吐量不高...原创 2019-12-21 19:55:51 · 79 阅读 · 0 评论 -
Java多线程基础
Java多线程基础一、线程生命周期1.NEW当我们用new关键字创建一个thread对象时,它就处于new的状态,此时它和普通的对象没有什么区别。new状态通过start方法进入runnable状态。2.RUNNABLE对象进入runnable状态必须调用start方法,此时它可能不会立即执行,而是等待cpu的调度。处于runnable状态的线程只能进入running状态或者被意外终止。...原创 2019-12-21 19:53:15 · 131 阅读 · 1 评论 -
线程池原理手写实现
线程池原理手写实现一、使用线程池的好处降低资源消耗:通过重复利用线程降低线程创建和销毁的资源消耗。提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性:线程是稀缺资源,使用线程池可以统一对其进行分配、调优和监控。二、线程池实现原理当一个任务被提交至线程池,线程池处理任务的流程是:首先线程池会判断核心线程池里的线程是否都在执行任务。如果不是,就...原创 2019-12-21 19:48:02 · 272 阅读 · 0 评论 -
理解volatile保证可见性
volatile是什么?volatile关键字是java并发编程中一个非常重要的关键字,使用volatile修饰共享变量可以保证多线程情况下的可见性和有序性。多线程并发下的问题先来看一段代码:/** * @author Yang Jiarun * @version 1.0 * @date 2019/12/20 19:30 */public class VolatileDemo {...原创 2019-12-20 20:23:36 · 339 阅读 · 1 评论