Java并发编程:11-并发级别和无锁类

2019-12-30
阅读 8 分钟
2.5k
前面的几篇内容都是关于J.U.C的同步工具类,包括使用时需要注意的地方,以及它们是如何通过AQS来实现的,在解读源码的时候,发现经常出现CAS操作,下面我们来了解一下CAS。

Java并发编程:10-

2019-12-30
阅读 1 分钟
1.1k
敬请期待 ·_·

Java并发编程:9-CountDownLatch & CyclicBarrier

2019-12-25
阅读 14 分钟
2.6k
通过前面对Semaphore的学习,我们了解了AQS框架中共享模式下的基本流程,本篇再去看看另一种共享模式的实现——CountDownLatch,以及功能和它类似的CyclicBarrier。

Java并发编程:8-Semaphore & AQS

2019-12-25
阅读 14 分钟
1.7k
在Lock & Condition中我们学习了管程这种并发编程模型,在管程模型提出之前,信号量模型一直是并发编程领域的终结者,几乎所有支持并发编程的语言都支持信号量机制,今天就来看看Java中的信号量实现--Semaphore。

Java并发编程:7-ReadWriteLock

2019-12-20
阅读 12 分钟
2.7k
上一篇我们了解了Lock接口与Condition接口。本篇来看看J.U.C中的ReadWriteLock,再次膜拜一下Doug Lea大神的杰作。

Java并发编程:6-Lock & Condition

2019-12-18
阅读 11 分钟
4k
在正式开始之前学习J.U.C之前,我们先来了解一下Java中的管程模型,尤其是对管程示意图的掌握,会极大的帮助我们理解并发包中的方法逻辑,之后会对Lock和Condition进行简单的介绍。

Java并发编程:5-线程安全

2019-12-16
阅读 4 分钟
1.7k
这里就不得不说描述死锁的经典例示例——“哲学家进餐”问题,五个哲学家去吃中餐,围坐在一张圆桌旁,他们每个人只有一根筷子,并且放在两个人的中间。哲学家们时而思考,时而吃饭。每个人都需要一双筷子才能吃东西,吃两口后把筷子返回远处,继续思考。

Java并发编程:4-Java内存模型

2019-12-09
阅读 9 分钟
1.7k
前言: 在线程和进程一篇中提到了多线程带来的风险,本篇将阐述风险之一的数据安全性问题是如何产生的,以及解决办法,开篇会介绍硬件中的内存架构以便更好的理解Java内存模型。

Java并发编程:3-Thread类的使用

2019-12-03
阅读 11 分钟
1.7k
前面大致了解了线程的创建和生命周期,线程在生命周期中并不是固定处于某一个状态而是随着代码的执行在不同状态之间切换。本篇通过对Thread类中方法的讲解来展示线程生命周期的变化,同时也会对Thread类本身进行理解。

Java并发编程:2-线程的生命周期

2019-12-01
阅读 7 分钟
1.2k
实现Runnable接口,重写run方法。   Runnable的意思是“任务”,是通过实现Runnable接口,定义一个子任务,交由Thread对象执行,通过调用Thread的start方法来创建一个新线程来执行该任务。如果直接调用run方法,则会被当作当前线程的一个普通方法调用,不会创建一个新线程。

Java并发编程:1-线程和进程

2019-11-22
阅读 7 分钟
1.6k
前言: 本模块是在下学习Java并发的一些记录和思考,若有不正之处,请多多谅解并欢迎指正。 开头会抛出几道常见面试题,引出本篇的内容。 每个问题都有属于你的答案。 如果你有想法或建议,可以评论或者私信我 : ) wangjie2yd@gmail.com 面试问题 Q : 线程和进程的区别? Q : 多线程的优缺点? 1.进程 1.1 进程的由来   ...