第19节:同步方法及同步块
1.理论整理
从上一节中可以看到Java中多线程是不安全的,比如多人同时买票,票数会出现负数的情况;多人取钱,钱数会出现负数;多个线程操作同一个列表会出现多个线程覆盖列表统一地方的错误等;
Java中提供了解决该问题的办法:锁机制。
具体而言, 锁住当前类的话可以在方法的开头public后加上synchronized;锁住具体对象(比如只锁景区的厕所而不是整个景区)时可以用synchronized(对象){代码块}.
2.实践
-
买票问题
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/89f72d4828f48601dd18af95920ae9f5.png)
-
取钱问题
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/15f63f79d812ed0b7896892ae8d1aef7.png)
-
列表问题
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e22d25abead102834a89f9df00cbeaea.png)
声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权