009 线程安全问题

一. 概述

在之前我们说过线程由于操作共同的资源就可能会出现线程安全问题,

  说白了就是产生了错误的结果.

解决的方式: 我们一般都会使用加锁的方式来完成.


二 . 原子性

  加锁的的核心: 

    就是将操作共享资源的代码编程原子性的操作,这一段代码我们称为临界区.

      临界区的代码只允许一个线程运行完才能让其他线程运行.

    这个概念没有什么难以理解的地方.


三 .安全性问题出现的条件

  [1] 在多线程环境下

  [2]共享资源

  [3]对资源进行读写操作(非原子性操作)

在上面的条件下,就可能出现线程安全性问题.

猜你喜欢

转载自www.cnblogs.com/trekxu/p/8975651.html
009