![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发
我从大数据中找个零
这个作者很懒,什么都没留下…
展开
-
Java中的锁
概述在多线程编程中,当存在资源竞争时,多线程环境就可能会导致程序的结果是一个非预期结果,也称之为程序是非线程安全的。public Test{ private int i; public void add(){ i++; } public int get(){ return i; }}上面这段代码在多线程环境下,线程之间存在成员变量i的竞争关系。当一个线程调用add方法...原创 2019-12-05 19:36:29 · 193 阅读 · 0 评论 -
Java并发编程之并发编程基础
前言在学习并发编程工具和技术源码之前,我们需要对一些概念进行了解。例如线程的含义、线程的状态、如何创建线程、如何中断线程、线程间通信机制等。线程简介1.概念关于线程的概念,在操作系统范畴里它是作为操作系统调度的最小单元。现代处理器多数为多核处理器,支持多线程操作。多线程能够显著提升程序性能,高效利用CPU资源。2. Java编程中线程优先级现代操作系统基本采用时分的形式调度运行的线程...原创 2019-11-28 17:03:40 · 293 阅读 · 0 评论 -
Java并发编程之Java内存模型 (下)
前言看完《Java并发编程的艺术》整本书之后,再次回顾并发编程中的Java内存模型,有了一写自己见解,这里接着前两次的文章继续做一个总结。final域的内存语义关于Java的final修饰符的一些基础知识可以参考我的这篇文章Java final关键字小结。今天要介绍的就是final在并发编程中,Java内存模型如何保证final的线程同步。1. final域的重排序规则在构造函数内对...原创 2019-11-27 16:23:32 · 424 阅读 · 0 评论 -
Java并发编程之Java内存模型 (中)
1.前言本文主要总结顺序一致性和volatile内存语义以及锁的内存语义三部分内容。对于volatile内存语义和锁的内存语义的了解,至关重要。在分析并发代码同步性时,了解这两个内存语义,能够帮助程序员避免错误、定位错误、优化代码。2. 顺序一致性2.1 概述顺序一致性内存模型是一个理论操控模型,这种模型保证代码的运行跟代码的顺序一致。例如:int a = 1; //1int b = ...原创 2019-11-12 10:49:44 · 287 阅读 · 0 评论 -
Java并发编程之Java内存模型 (上)
1. 前言在看完《Java并发编程的艺术》这本书的第三章后,觉得受益颇多。特别是对关于几个能够实现线程安全的关键字的内存模型的解析尤为透彻,所有在这里写个总结。2. 内存模型基础2.1 概述Java线程之间的通信对应程序员来说是透明的,关于内存可见性问题对应程序开发者来说,是极其烦恼的一个问题。如果不了解Java线程之间的通信机制,那么在并发编程中犯容易犯线程不同步错误,从而导致线程的安全...原创 2019-11-09 15:15:48 · 190 阅读 · 0 评论