- 博客(5)
- 收藏
- 关注
转载 java高并发编程wait和 notify
wait和 notify必须配合synchronized使用一个线程修改一个对象的值,而另一个线程则感知到了变化,然后进行相应的操作,这就是wait()、notify()和notifyAll()方法的本质。具体体现到方法上则是这样的:一个线程A调用了对象obj的wait方法进入到等待状态,而另一个线程调用了对象obj的notify()或者notifyAll()方法,线程A收到通知后从对象obj...
2018-07-25 02:40:24 263
原创 volatile 的有序性和可见性以及非原子性
多线程并发编程中最主要面对的就是这三个问题:有序性、可见性和原子性有序性:程序在执行代码的时候,会有指令优化这一过程,即指令重排序。单线程中不会有任何影响,但是在多线程中就要注意这个问题所造成的影响了原子性:原子性是最小的单位,即不能再继续拆分。计算机原言中的原子性和这差不多,就是不可分割的操作,要么都发生,要不都不发生,不可能发生一班可见性:当前线程操作某一对象,其他线程可见。参...
2018-07-25 02:33:19 244
翻译 不要使用字符串常量作为对象锁去同步代码
不要使用字符串常量作为对象锁去同步代码(翻) 使用字符串常量作为锁去同步代码是非常危险的事情。请看下面的一段代码:class Foo { static private final String LOCK = "LOCK"; void someMethod() { synchronized(LOCK) { ... } } }...
2018-07-25 01:33:04 1165
原创 多线程并发学习笔记(1)——锁重入
synchronized的方法连续调用也是线程安全的 synchronized修饰的方法继续调用synchronized修饰的方法,线程也是安全的public synchronized void methodA(int a, int b) {};public synchronized void methodB(int a){ methodA(a, 0);}同一个类...
2018-07-25 01:07:06 104
转载 JAVA互联网架构师课程大纲
并发编程 + activemq + 实战案例并发编程基础篇 第一天 1、课程大纲简要介绍2、线程基础概念、线程安全概念、多个线程多个锁概念3、对象锁的同步和异步4、脏读概念、脏读业务场景5、Synchronized概念、Synchronized代码块、Synchronized其他细节 第二天 1、Volatile关键字概念、线程优化执行流程、内部原理讲解2、Volatile关键字的非原子性3、并发...
2018-07-25 00:09:20 689
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人