原子克隆结构

时间:2017-11-15 08:31:10

标签: c# struct concurrency atomic

让我们说我有一个结构,无论如何定义,但让我们假设它是可变的。例如:

struct Point
{
    public double X;
    public double Y;
}

另外,让我们假设有一个类暴露了一个返回该类型Point(struct)的值的属性。

class C
{
    private Point _pos;  //mutable
    public Point Position { get { return _pos; } }
}

当然,当我从位置获取值时,我实际上得到了原始值的副本。

Point pos = c.Position;

但是,我不保证并发上下文中的原子性,并且我可能会得到一个损坏的值。

问题是:是否有任何现成的机制(Interlock.whatever种类)允许在并发上下文中安全地克隆结构?

0 个答案:

没有答案