Java并发编程
to_be_better_one
在技术的浪潮中掀起一点点涟漪
展开
-
Java并发编程——volatile关键字
Java并发编程——volatile关键字概述一、内存模型二、并发编程的三个概念三、Java内存模型四、剖析volatile关键字4.1 volatile关键字的两层含义4.2 volatile能否保证原子性五、使用volatile关键字场景六、总结常见问题 概述 在 Java 并发编程中,要想使并发程序能够正确地执行,必须要保证三条原则,即:原子性、可见性和有序性。只要有一条原则没有被保证,就...原创 2019-08-26 11:39:35 · 601 阅读 · 2 评论 -
Java并发编程——synchronized关键字
synchronized关键字概述一、线程安全问题二、如何解决线程安全问题三、synchronized 同步方法或者同步块1、synchronized方法2、synchronized 同步块3、class 对象锁四、可重入性五、注意事项1、内置锁与字符串常量2、锁的是对象而非引用六、总结 概述 在 Java 中,提供了两种方式来实现同步互斥访问:synchronized 和 Lock。本文针对 ...原创 2019-08-26 14:42:05 · 344 阅读 · 0 评论 -
Java并发编程——Lock
本文以synchronized与Lock的对比为切入点,对Java中的**Lock框架**的枝干部分进行了详细介绍,最后给出了锁的一些相关概念.原创 2019-08-27 18:35:12 · 407 阅读 · 0 评论 -
Java并发编程——解析Thread类
解析Thread类概述一、线程的生命周期二、上下文切换三、线程的创建3.1 实现Runnable接口3.2 实现 Callable 接口3.3 继承 Thread 类3.4 实现接口 VS 继承 Thread四、Thread类详解4.1 线程运行状态4.1.1 start()方法4.1.2 run 方法4.1.3 sleep 方法4.1.4 yield方法4.1.5 join方法4.1.6 int...原创 2019-08-28 22:05:20 · 3491 阅读 · 6 评论 -
Java并发编程——ThreadLocal
ThreadLocal概述一、对ThreadLocal的理解1.1 ThreadLocal在JDK中的定义1.2 应用场景二、深入分析ThreaLocal类2.1 get()2.2 setIntialValue()2.3 ThreadLocal类是如何为每个线程创建变量副本三、ThreadLocal的应用场景3.1 数据库连接问题3.2 Session管理3.3 Thread-per-Reques...原创 2019-08-29 15:09:04 · 5174 阅读 · 2 评论 -
Java并发编程——线程之间的协作
线程之间的协作概述一、等待/通知机制1.1 wait()、notify() 和 notifyAll()1.2 方法调用和线程之间的关系1.3 await() signal() signalAll()二、等待/通知的经典范式三、线程通信:管道四、Thread.join()的使用4.1 join()的定义4.2 join()使用实例及原理 概述 线程开始运行的时候,拥有自己的栈空间,如同一个脚本按照既...原创 2019-08-30 16:48:50 · 642 阅读 · 0 评论