线程的安全
在以后的开发中,我们的项目都是运行在服务器当中,而服务器已将线程的定义,线程对象的创建,线程的启动等,
都已经实现完了。这些代码我们都不需要编写。
最重要的是:你要知道,你编写的程序需要放到一个多线程的环境下运行,你更需要关注的是这些数据,在
多线程并发的环境下是否是安全的。
什么时候数据在多并发环境下会存在安全问题呢?
三个条件:
条件1:多线程并发。
条件2:有共享数据。
条件3:共享数据有修改行为
怎么解决线程安全问题?
线程排队执行。(不能并发)
用排队执行解决线程安全问题
这种机制被称为:线程同步机制。
实际上线程不能并发了,线程必须排队执行
虽然会牺牲效率,但数据安全了。
不要并发了。
同步和异步的理解?
异步编程模型:线程A和线程B,各自执行各自的,A不管B,B不管A
谁也不需要等谁,这种编程模型叫做异步编程模型
其实就是:多线程并发(效率较高)
异步就是并发。
同步编程模型:线程A和线程B,在线程A执行的时候,必须等待B线程的执行结束
或者说在B线程执行的时候,必须等待A线程执行结束。
两个线程之间发生了等待关系,这就是同步编程模型
效率较低。线程排队执行
同步就是排队

浙公网安备 33010602011771号