在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开 ...
分类:
编程语言 时间:
2018-12-24 02:33:56
阅读次数:
201
在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本文目录大纲: 一.CountDownLatch用法 二.CyclicBarrier用法 三.Se ...
分类:
编程语言 时间:
2018-12-19 13:18:22
阅读次数:
237
CPU内存架构:https://www.jianshu.com/p/3d1eb589b48e Java内存模型:https://www.jianshu.com/p/27a9003c33f4 多线程下的缓存一致性问题:https://www.jianshu.com/p/97dc5242c3a6 jav ...
分类:
编程语言 时间:
2018-12-18 10:55:26
阅读次数:
151
JDK 5.0 以后增加了注解。就是@后面加一个名称。有其自身的含意。跟C#里的Attributes似的。 Java并发编程中,用到了一些专门为并发编程准备的 Annotation。主要包括三类:1、类 Annotation(注解)就像名字一样,这些注解是针对类的。主有要以下三个:@Immutabl ...
分类:
编程语言 时间:
2018-12-13 11:24:36
阅读次数:
199
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:vo ...
分类:
编程语言 时间:
2018-12-11 21:46:16
阅读次数:
300
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:vo ...
分类:
编程语言 时间:
2018-12-11 21:45:36
阅读次数:
333
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:vo ...
分类:
编程语言 时间:
2018-12-11 21:44:08
阅读次数:
216
文章部分图片和代码来自参考文章。 LockSupport 和 CLH 和 ConditionObject 阅读源码首先看一下注解 ,知道了大概的意思后,再进行分析。注释一开始就进行了概括。AQS的实现是基于FIFO等待队列的。 Provides a framework for implementin... ...
分类:
编程语言 时间:
2018-12-11 12:47:05
阅读次数:
198
许多以Java多线程开发为主题的技术书籍,都会把对Java虚拟机和Java内存模型的讲解,作为讲授Java并发编程开发的主要内容,有的还深入到计算机系统的内存、CPU、缓存等予以说明。实际上,在实际的Java开发工作中,仅仅了解并发编程的创建、启动、管理和通信等基本知识还是不够的。一方面,如果要开发出高效、安全的并发程序,就必须深入Java内存模型和Java虚拟机的工作原理,从底层了解并发编程的实
分类:
编程语言 时间:
2018-12-08 17:00:14
阅读次数:
238
对于Java并发,我也是属初学阶段,用的参考书是:"Java并发编程实战",写博时也参考了很多类似主题的博客,博主意在记录自己的学习路程,供网友讨论学习之用; 周末写的差不多了,今天下午没事正好整理一下,Java并发两篇一起发了; 先介绍一下线程的概念(摘自百度百科): 线程,有时被称为轻量进程(L ...
分类:
编程语言 时间:
2018-12-03 17:56:11
阅读次数:
204