java多线程
文章平均质量分 60
三名狂客
success without applause,diligence without reward!Becoming、Cognifying、Flowing、Screening、Accessing、Sharing、Filtering、Remixing、Interacting、Tracking、Questioning、Beginning.
展开
-
Java并发之Fork-Join
一、Fork-Join 简介fork/join 框架是 Java 7 中引入的 ,它是一个工具,通过 「 分而治之 」 的方法尝试将所有可用的处理器内核使用起来帮助加速并行处理。在实际使用过程中,这种 「 分而治之 」的方法意味着框架首先要 fork ,递归地将任务分解为较小的独立子任务,直到它们足够简单以便异步执行。然后,join 部分开始工作,将所有子任务的结果递归地连接成单个结果,或者在返...翻译 2020-05-07 20:35:26 · 340 阅读 · 0 评论 -
Java并发之ExecutorService
一、ExecutorService 介绍 ExecutorService 是 java.util.concurrent 包的重要组成部分,是 Java JDK 提供的框架,用于简化异步模式下任务的执行。二、实例化ExecutorService 类(1) 工厂方法ExecutorService executor = Executors.newFixedThreadPool(50)...原创 2020-05-06 17:50:57 · 422 阅读 · 0 评论 -
多线程环境下SimpleDateFormat类安全转换
一、SimpleDateFormat类package state;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** * SimpleDateFormat类负责日期的转换与格式化 * 解决SimpleDateFormat类多线程环境下转换错误问题...原创 2020-02-07 17:17:26 · 1971 阅读 · 0 评论 -
多线程环境下实现各种情形的单例模式
(1)饿汉模式package singleton;/** * 饿汉模式 多线程环境下实现单例模式 * @author zc * */public class SingletonE { //立即加载 饿汉模式 private static SingletonE singleton=new SingletonE(); //私有化构造方法 private Singleto...原创 2020-02-06 18:28:35 · 499 阅读 · 0 评论 -
线程池小结
线程池线程池线程池概述创建一个线程池并提交线程任务线程池源码解析参数认识构造方法提交任务addWorker执行任务关闭线程池线程池概述线程池的优势第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺...翻译 2018-08-25 15:06:49 · 239 阅读 · 0 评论 -
Fork-Join框架的简单使用
一、Fork-Join框架作用 Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork/Join框架要完成两件事情: 1.任务分割:首先Fork/Join框架需要把大的任务分割成足够小的子任务,如果子任务比较大的话还要对子任务进行继续分割 2.执行任务并合并结果:分割的子任务分别...原创 2018-08-24 10:27:30 · 578 阅读 · 0 评论 -
多线程四个辅助类的简单应用
一、CountDownLatchimport java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.concurrent.CountDownLatch;...原创 2018-08-23 14:40:38 · 735 阅读 · 0 评论 -
生产者-消费者简单实现
一、车间/** * 车间(电商平台) * @author superman * */public class Tmall { private int count; //当前货物数量 public final int max=10; //车间最大的存储数量 public synchronized void produce() { ...原创 2018-08-22 10:28:12 · 539 阅读 · 0 评论 -
线程安全性问题总结
一、出现线程安全性问题的条件(1)在多线程的环境下 (2)必须有共享资源 (3)对共享资源进行非原子性操作二、解决线程安全性问题的途径(1)synchronized (偏向锁,轻量级锁,重量级锁) (2)volatile (2)JDK提供的原子类 (3)使用Lock(共享锁,排它锁) (4)认识的“*锁”三、常用的锁偏向锁 轻量级锁 重量级锁 重入锁 ...原创 2018-08-22 09:22:34 · 847 阅读 · 0 评论 -
多线程之volatile、ThreadLocal、synchronized关键字区别
1.volatilevolatile主要是用来在多线程中同步变量。 在一般情况下,为了提升性能,每个线程在运行时都会将主内存中的变量保存一份在自己的内存中作为变量副本,但是这样就很容易出现多个线程中保存的副本变量不一致,或与主内存的中的变量值不一致的情况。 而当一个变量被volatile修饰后,该变量就不能被缓存到线程的内存中,它会告诉编译器不要进行任何移出读取和写入操作的优化,换句话说...转载 2018-05-14 23:19:55 · 1779 阅读 · 0 评论 -
Java多线程学习
一、java多线程系列Java多线程学习(一)Java多线程入门Java多线程学习(二)synchronized关键字(1)Java多线程学习(二)synchronized关键字(2)Java多线程学习(三)volatile关键字Java多线程学习(四)等待/通知(wait/notify)机制Java多线程学习(五)线程间通信知识点补充Java多线程学习(六)Lock锁的使用二、java多线程思维...转载 2018-04-09 00:45:52 · 5258 阅读 · 3 评论 -
JAVA线程间的状态转换
线程间的状态转换: 1. 新建(new):新创建了一个线程对象。2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。3. 运行(running):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。4. 阻塞(block...转载 2018-03-09 15:23:54 · 288 阅读 · 0 评论 -
Java实现多线程的四种方式
一、四种方式如下: (1)继承Thread类创建线程类( 默认包 java.lang.Thread) (2)实现Runnable接口 (默认包 java.lang.Runnable ) (3)使用Callable和FutureTask创建线程 (包 java.util.concurrent.Callable和java.util.concurrent.FutureTas...原创 2018-03-14 19:20:09 · 470 阅读 · 0 评论 -
Java 多线程编程
一、Java 多线程编程转载 2018-02-01 18:55:24 · 239 阅读 · 0 评论 -
JAVA多线程实现的四种方式
Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。 1、继承Thread类创建线程Thread类本质上是实现了Ru转载 2018-02-01 16:59:33 · 237 阅读 · 0 评论 -
Java多线程
转载连接 https://mp.weixin.qq.com/s/LK2uUCz2ORztrL9ieT0Vdg转载 2018-02-01 16:42:46 · 231 阅读 · 0 评论 -
深入java并发体系
java并发体系图:转载 2017-06-28 12:25:14 · 573 阅读 · 0 评论