线程安全

发布时间 2023-12-04 14:05:14作者: 林浅

什么是线程安全:

⼤⽩话:

多线程下并发同时对共享数据进⾏读写,会造成数据混乱 = 线程不安全

当多线程并发访问临界资源时,如果破坏其原⼦性、可⻅性、有序性,可能会造成数据不⼀致。

  • 临界资源:共享资源(同⼀对象)同时读写,⼀次仅允许⼀个线程使⽤,才可保证其正确性。

原子性:单一,不可分割的操作

可见性:

有序性(指令重排):

有序性最终表述的现象是CPU是否按照既定代码顺序执⾏依次执⾏指令。编译器和CPU为了提⾼指令的执⾏效率可能会进⾏指令重排序,这使得代码的实际执⾏⽅式可能不是按照我们所认为的⽅式进⾏。