java并发编程
java并发编程
sunshine-zwq
在深圳奋斗的攻城狮...
展开
-
双重校验锁实现的单例,已经使用了synchronized,为什么还需要volatile?
问题双重校验锁实现的单例,已经使用了synchronized,为什么还需要volatile?public class Singleton { private volatile static Singleton singleton; private Singleton (){} public static Singleton getSingleton() { if (singleton == null) { synchronize原创 2020-12-07 14:01:52 · 976 阅读 · 3 评论 -
[转载]Java并发编程:volatile的使用及其原理
原文链接https://www.cnblogs.com/paddix/p/5428507.html作者:liuxiaopeng博客地址:http://www.cnblogs.com/paddix/ 一、volatile的作用在《Java并发编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对Synchronized原理有了解的话,应该知道Synchronized是一个比较重量级的操作,对系统的性能有比较大转载 2020-12-07 14:00:39 · 124 阅读 · 0 评论 -
[转载]Java并发编程:线程间的协作(wait、notify、sleep、yield、join)
原文链接https://www.cnblogs.com/paddix/p/5381958.html作者:liuxiaopeng博客地址:http://www.cnblogs.com/paddix/ 一、线程的状态Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态)。New:新建状态,当线程创建完成时为新建状态,即new Thread(…),还没有调用start方法时,线程处于新建状态。R转载 2020-12-07 13:59:01 · 110 阅读 · 0 评论 -
[转载]Java并发编程:Synchronized及其实现原理
原文链接https://www.cnblogs.com/paddix/p/5367116.html作者:liuxiaopeng博客地址:http://www.cnblogs.com/paddix/ 一、Synchronized的基本使用Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。**Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。**从语法上讲,Synchroniz转载 2020-12-07 13:57:47 · 70 阅读 · 0 评论 -
[转载]Java并发编程:核心理论
并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。在此基础上,我们会进一步分析java.util.concurrent包的工具类,包括其使用方式、实现源码及其背后的原理。本文是该系列.转载 2020-12-07 13:55:12 · 73 阅读 · 0 评论 -
关于监控线程池运行状态的一些api
// 创建一个线程池,线程数corePoolSize为5Executor executor = Executors.newScheduledThreadPool(5);// 把线程Runnable放到线程池运行executor.execute(new Runnalbe(){@Overridepublic void run() {System.out.println("执行线原创 2017-01-15 17:23:00 · 4241 阅读 · 0 评论