多线程/并发
文章平均质量分 86
是Guava不是瓜娃
Welcome to the real world,it is suck but you gonna love it.
展开
-
【JDK源码阅读14-util.concurrent.locks】锁-Lock接口
Lock接口转载:【http://blog.csdn.net/chenssy/article/details/47401765】 在Java中有两种方法实现锁机制,一种线程同步机制:synchronized,而另一种是比synchronized更加强大和领过的Lock。Lock确保当一个线程位于代码的临界区时,另一个线程不进入临界区,相对于synchronized,转载 2016-11-29 22:20:03 · 475 阅读 · 0 评论 -
生产者消费者模式的几种实现方式以及线程安全问题
生产者消费者模式的几种实现方式拿我们生活中的例子来说,工厂生产出来的产品总是要输出到外面使用的,这就是生产与消费的概念。 在我们实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。 产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。 第一种:采用wait—notify实现生产者消费者原创 2017-03-27 11:40:29 · 14254 阅读 · 0 评论 -
单例模式中懒汉模式的非线程安全问题的解决方法
单例模式中懒汉模式的非线程安全问题的解决方法 单例模式中有饿汉模式和懒汉模式两种。饿汉模式也叫立即加载 ,即在get之前就已经创建实例instance;package singleton1;//饿汉模式(立即加载)public class Singleton { private static Singleton instance = new Singleton();原创 2016-11-21 14:06:27 · 4036 阅读 · 1 评论 -
并发编程系列(1)- 线程池原理
一、线程池基本原理分析1、什么是线程池线程池就是一种池化技术,核心思想就是事先创建多个线程,将线程资源放到池子中,这样任务到达时可以 不需要等到线程创建就能立刻去执行。创建线程池的好处:降低资源消耗。线程池可避免大量线程的创建于销毁造成的消耗。提高响应速度。任务到达时,线程池中线程可立即去执行,无需等待线程的创建。提高线程的可管理性。利用线程池可以进行统一分配、调优和监控。2、线...原创 2018-12-22 17:29:30 · 639 阅读 · 0 评论 -
并发编程系列(2)- 线程池代码实战
上一节并发编程系列(1)- 线程池原理 已经初步介绍线程池的原理、线程池的创建,但是实际在项目中应该如何使用线程池呢?一、使用场景介绍当遇到重复性、且互相无依赖的任务的时候,可以用多线程来实现。比如:上传多个文件、解析多个文件等等,这些行为相互之间不会影响(即一个任务不依赖与另一个任务的执行成功与否,也不依赖于其执行的结果)。如果任务执行相互依赖,那么可以用异步去实现。二、代码实战下面...原创 2018-12-22 19:36:55 · 711 阅读 · 0 评论