我有一個測量儀器對象:最佳實踐(或進入/退出)
public class Instrument
{
public double Measure()
{
return 0;
}
}
予有需要做一些測量設備:
public class Device
{
public Instrument MeasuringInstrument { get; set; }
public void DoMeasuring()
{
var result = this.MeasuringInstrument.Measure();
}
}
的測量儀器一次只能在一臺設備上運行,但許多設備可能使用同一臺儀器。我是線程新手,從我的理解來看,以下兩種解決方案都有警告。
public class Instrument
{
public double Measure()
{
lock(this)
{
return 0;
}
}
}
public class Device
{
public Instrument MeasuringInstrument { get; set; }
public void DoMeasuring()
{
lock(this.MeasurementInstrument)
{
var result = this.MeasuringInstrument.Measure();
}
}
}
我讀過這是最好的鎖定私有對象,但我不知道該怎麼做,同時仍允許MeasuringInstrument要獲得/在設備上設置。有什麼建議麼?
謝謝了,
肯
後代:託管線程處理的最佳實踐http://msdn.microsoft.com/en-us/library/1c9txz50(v=vs.110).aspx – Brad 2014-04-21 14:38:44