//前提
1:多个线程操作同一个数据
2:操作共享数据的线程代码有多条
当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算
就会导致线程安全问题的产生。
解决思路:
就是将多线程操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,
其他线程不可以参与运算的。
必须要当前线程吧这些代码都执行完后,其他线程才可以参与运算。
在java中 用同步代码块就可以解决这个问题
同步代码块的格式
synchronized(对象){
需要被同步的代码
};
//前提
1:多个线程操作同一个数据
2:操作共享数据的线程代码有多条
当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算
就会导致线程安全问题的产生。
解决思路:
就是将多线程操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,
其他线程不可以参与运算的。
必须要当前线程吧这些代码都执行完后,其他线程才可以参与运算。
在java中 用同步代码块就可以解决这个问题
同步代码块的格式
synchronized(对象){
需要被同步的代码
};
转载于:https://www.cnblogs.com/liyunchuan/p/10710625.html