线程安全

2020-05-20  本文已影响0人  事在人为s

当某些代码修改内存堆里的数据的时候,如果有多个线程在同时执行,就可能会出现同时修改数据的情况,比如,两个线程同时对一个堆中的数据执行 +1 操作,最终这个数据只会被加一次,这就是人们常说的线程安全问题,实际上线程的结果应该是依次加一,即最终的结果应该是 +2。
多个线程访问共享资源的这段代码被称为临界区,解决线程安全问题的主要方法是使用锁,将临界区的代码加锁,只有获得锁的线程才能执行临界区代码

c#如何解决线程安全的

  1. 加锁,lock只能锁定一个引用类型变量
  2. async await
上一篇 下一篇

猜你喜欢

热点阅读