线程的安全

在以后的开发中,我们的项目都是运行在服务器当中,而服务器已将线程的定义,线程对象的创建,线程的启动等,

都已经实现完了。这些代码我们都不需要编写。

最重要的是:你要知道,你编写的程序需要放到一个多线程的环境下运行,你更需要关注的是这些数据,在

多线程并发的环境下是否是安全的。

什么时候数据在多并发环境下会存在安全问题呢?

三个条件:

  条件1:多线程并发。

  条件2:有共享数据。

  条件3:共享数据有修改行为

怎么解决线程安全问题?

  线程排队执行。(不能并发)

  用排队执行解决线程安全问题

  这种机制被称为:线程同步机制。

  实际上线程不能并发了,线程必须排队执行

  虽然会牺牲效率,但数据安全了。

  不要并发了。

同步和异步的理解?

  异步编程模型:线程A和线程B,各自执行各自的,A不管B,B不管A

          谁也不需要等谁,这种编程模型叫做异步编程模型

          其实就是:多线程并发(效率较高)

          异步就是并发。

  同步编程模型:线程A和线程B,在线程A执行的时候,必须等待B线程的执行结束

          或者说在B线程执行的时候,必须等待A线程执行结束。

          两个线程之间发生了等待关系,这就是同步编程模型

          效率较低。线程排队执行

          同步就是排队

    

posted @ 2021-03-02 15:19  幽香琳  阅读(57)  评论(0)    收藏  举报