![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发编程艺术
tangyuan_sibal
每一份努力都值得期许
展开
-
java并发编程的艺术1:线程状态的转换以及基本操作
注:本系列文章参考至“java知音” https://www.javazhiyin.com1. 新建线程一个java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上java程序天生就是一个多线程程序,包含了:(1)分发处理发送给给JVM信号的线程;(2)调用对象的finalize方法的线程;(3)清除Reference的线程;(4)main线程,用户程...原创 2019-03-03 00:45:29 · 235 阅读 · 0 评论 -
java并发编程的艺术2-JMM(JAVA内存模型)简介
1、什么是JMMjava虚拟机规范试图定义一种Java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序能在各种平台下都能打到一致的内存访问效果1、在多线程中稍微不注意就会出现线程安全问题,那么什么是线程安全问题?我的认识是,在多线程下代码执行的结果与预期正确的结果不一致,该代码就是线程不安全的,否则则是线程安全的。虽然这种回答似乎不能获取什么内容,可以goo...原创 2019-03-06 21:03:59 · 156 阅读 · 0 评论 -
java并发的编程艺术3:volatile是什么
1. volatile简介volatile可以说是java虚拟机提供的最轻量级的同步机制。但它同时不容易被正确理解,也至于在并发编程中很多程序员遇到线程安全的问题就会使用synchronized。java内存模型告诉我们,各个线程会将共享变量从主内存中拷贝到工作内存,然后执行引擎会基于工作内存中的数据进行操作处理。线程在工作内存进行操作后何时会写到主内存中?这个时机对普通变量是没有规定的,而针对...原创 2019-03-06 21:53:32 · 144 阅读 · 0 评论 -
java并发编程的艺术4:synchronized是什么
上一篇文章中介绍了volatile的功能,但是volatile只能保证数据的可见性和有序性,并不能保证线程安全。这时候就需要老大哥synchronized来,那么synchronized是如何保证线程安全呢。下面简要介绍自己的理解和总结。1、synchronized简介Java中提供了两种实现同步的基础语义:synchronized方法和synchronized块。简单的使用方式如下:pub...原创 2019-03-20 17:15:26 · 134 阅读 · 0 评论