其他分享
首页 > 其他分享> > 我应该使用静态字段并互锁在一起吗?

我应该使用静态字段并互锁在一起吗?

作者:互联网

在需要为线程安全和原子操作提供静态字段的情况下,我应该使用静态字段并互锁在一起吗,默认情况下,静态字段是否是原子的?例如:

Interlocked.Increment(ref Factory.DefectivePartsCount);

谢谢.

解决方法:

是.

该字段(假设Int32)是原子的,不是因为它是静态的而是因为它是32位.

但是,Factory.DefectivePartsCount = 1需要对该变量进行读和写操作,因此整个操作都不是线程安全的.

标签:interlocked,multithreading,static,c
来源: https://codeday.me/bug/20191031/1978133.html