java 线程安全问题
笔记是看黑马视频一边做的,主要是用于自己复习用。
https://blog.****.net/HDZ1821/article/details/104577474 详细请了解这篇文章。
目录
线程安全问题的概述:
多线程访问共享数据会产生线程安全问题。
线程安全问题的代码(得不到保障版本)
(以下程序会出现线程安全问题,)最简单的优化线程安全就是让线程等待(学会睡眠。)
线程安全问题产生的原理:
不同的线程同时抢占到了cpu的执行权,然后,进入了语句进行执行,因为变量使用的同一内存空间,所以当前的线程们(已经是判断通过的线程们)都会对变量进行操作,这样我们的判断语句其实是被欺骗了,没有起到应该有的作用。所以总是会出现奇奇怪怪的值。
解决线程安全问题:线程同步:
1.synchronized(锁对象)
例子:
synchronized同步技术的原理:
2.同步方法:
例子:
静态同步方法:
例子:
3.Lock锁
例子: