.Net并行编程(2)

序言

 

原子性

一.多线程的线程安全
多线程安全问题原因是在cpu执行多线程时,在执行的过程中可能随时切换到其他的线程上执行,当多个线程同时操作同一个变量时,如果不施加其他措施,可能导致错误数据的出现
二.Interlocked的特点
Interlocked是为多个线程共享的变量提供原子操作,这个类是一个静态类 它提供了以线程安全的方式递增、递减、交换和读取值的方法。
C#提供了一系列的原子操作(Atomic Operations)来处理这些问题,其中最常用的之一是Interlocked类。在本篇文章中,我们将深入探讨C#中的Interlocked类,了解其工作原理以及如何应用它来实现线程安全的并发操作。
Interlocked类是C#中提供的一个线程安全的原子操作工具。它提供了一组静态方法,用于在多线程环境中执行原子操作。原子操作是指不可被中断的操作,要么完全执行,要么不执行。这些操作可以保证数据的一致性和可靠性,避免因为竞态条件(Race Condition)而导致的数据错误。
下面我们将介绍一些常用的Interlocked方法及其使用方式:
Interlocked.Increment 和 Interlocked.Decrement
三.什么是原子操作
 如果一条语句在底层处理器上被当作一个独立不可分割的指令,那么它本质上是原子的(atomic)。严格的原子性可以阻止任何抢占的可能。

资料

https://www.bilibili.com/video/BV1Cw411A7Fr/?spm_id_from=333.788&vd_source=a56db24cb8cab4dd8153f9a519787c89

posted @ 2016-07-15 09:07  ~沐风  阅读(358)  评论(0编辑  收藏  举报