关于C# 多线程高并发调用静态方法的安全性

首次发布:2019-01-03 09:03
2019-05-02 更新:增加多线程高并发解决方案


静态方法只有一个实例,当有静态变量的时候,对于高并发的时候,并发的所有执行都走那个方法,静态变量的值就会发生改变,导致出现问题;

当然并发不安全跟方法本身没关系,跟共享的那个资源有关系比如某个变量,每个线程都对其进行操作,都能改变其参数值,多线程(并发其实就是多线程),操作它,其值混乱,就有问题了

转载请保留原创地址:http://www.luofenming.com/show.aspx?id=ART2019010300001

下面的一段代码能看出问题 主要原因是静态方法的参数值发生变化,导致输也结果不是理想中的结果



以下是代码和运行结果 主要原因是静态方法的参数值发生变化,导致输也结果不是理想中的结果



以下是解决 静态方法参数值发生变化方案----由于它们都几乎是同时执行,结束没有按顺序 这个相信大家都能理解