java多线程
文章平均质量分 87
放肆热爱
求知若渴,失之若愚。
展开
-
多线程(3):队列 BlockingQueue
简介 在线程池中会经常使用BlockingQueue,BlockingQueue是一种阻塞队列,阻塞队列的特性:我在放的时候别人不能放,我在取的时候别人不能取,满的时候就不能再添加,等待有人取走,才能放 public interface BlockingQueue<E> extends Queue<E> { // 添加成功返回true,否则抛出异常 boolean add(E e); // 添加成功返回true,失败返回false boolean of转载 2020-05-27 13:32:41 · 235 阅读 · 0 评论 -
多线程系列(2):线程池
简介: 线程相对于进程属于轻量级,虽然线程是轻量级的,合理的使用线程池的好处有 降低资源的消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗 提高响应速度。当任务到达时,任务可以不需要等到线程池创建就能立即执行 提高线程的可管理性。线程是稀缺资源,如果无限制的创建不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配,调优和监控。但是要做到合理利用线程池,必须对其实现原理了如指掌。 一:常用类 实际工作中很少显式的去创建线程,因为如果显式创建线程当并发很大时会使得内存耗尽(每个线程转载 2020-05-26 11:11:04 · 134 阅读 · 0 评论 -
阻塞与非阻塞和同步与异步以及它们之间的联系
阻塞与非阻塞:线程访问资源,该资源是否准备就绪的一种方式。如果说这个资源没有准备就绪,就会有的两种处理方式。 阻塞:线程会持续等待这个资源处理完毕,直到它响应返回一个结果,这个线程不可以去做其他事情。 图: ...原创 2018-11-13 13:33:17 · 614 阅读 · 0 评论 -
多线程系列(1):创建线程和线程的常用方法
一:为什么要学多线程 高级面试 :多线程几乎是面试中必问的题,所以掌握一定的基础知识是必须的。 了解并发编程:实际工作中很少写多线程的代码,这部分代码一般都被人封装起来了,在业务中使用多线程的机会也不是很多(看具体项目),虽然代码中很少会自己去创建线程,但是实际环境中每行代码却都是并行执行的,同一时刻大量请求同一个接口,并发可能会产生一些问题,所以也需要掌握一定的并发知识 二:进程与线程 1. 进程 进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并转载 2020-05-25 15:17:39 · 361 阅读 · 0 评论