![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发
a_cheating_bird
这个作者很懒,什么都没留下…
展开
-
JMM内存模型和 volatile缓存一致性
JMM内存模型和 volatile缓存一致性一、 JMM内存模型Java线程内存模型与CPU缓存模型类型,是基于CPU缓存模型来建立的,Java线程内存模型是标准化的,屏蔽了底层不同计算机的区别。CPU缓存模型:JMM内存模型:当多个线程共享一个变量时,会从主内存拷贝一份副本到自己线程的工作内存中。假如线程A和线程B进行通信: 线程A从主内存中将共享变量读入线程A的工作内存后并进行操作,之后将数据重新写回到主内存中; 线程B从主存中读取最新的...原创 2020-10-12 10:41:35 · 260 阅读 · 0 评论 -
Java线程基础
2. Java线程基础一、 创建新线程1.1 继承Thread类Thread t1 = new Thread();t1.start();start()方法可以创建一个新的线程,并让这个线程执行run()方法Thread t2 = new Thread();t2.run()这种直接用run() 方法,不会创建一个新的线程,只是在当前线程中串行的执行run方法。1.2 通过Runnable接口实现public class CreateT...原创 2020-10-12 10:37:53 · 185 阅读 · 1 评论 -
并发的一些概念
1. 并发的一些概念一、并发优点并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分 。需要掌握:充分利用多核CPU的计算能力;方便进行业务拆分,提升应用性能二、并发缺点频繁的上下文切换线程安全问题频繁的上下文切换:时间片是CPU分配给各个线程的时间,因为时间非常短,所以CPU不断通过切换线程,让我们觉得多个线程是同时执行的,时间片一般是几十毫秒。而每次切换时,需要保存当前原创 2020-10-12 10:20:34 · 241 阅读 · 0 评论 -
Java多线程:synchronized的可重入性
从Java多线程:线程间通信之volatile与sychronized这篇文章中我们了解了synchronized的基本特性,知道了一旦有一个线程访问某个对象的synchronized修饰的方法或代码区域时,该线程则获取这个对象的锁,其他线程不能再调用该对象被synchronized影响的任何方法。那么,如果这个线程自己调用该对象的其他synchronized方法,Java是如何判定的?这就涉及到...转载 2018-12-01 10:30:03 · 156 阅读 · 0 评论