que tengo un objeto instrumento de medida:Mejores prácticas para bloquear (o entrar/salir) en C#
public class Instrument
{
public double Measure()
{
return 0;
}
}
que tienen un dispositivo que tiene que hacer alguna medición:
public class Device
{
public Instrument MeasuringInstrument { get; set; }
public void DoMeasuring()
{
var result = this.MeasuringInstrument.Measure();
}
}
El instrumento de medición solo puede operar en un dispositivo a la vez, sin embargo, muchos dispositivos pueden usar el mismo instrumento. Soy nuevo en el roscado, y por lo que entiendo, las dos soluciones siguientes tienen salvedades.
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();
}
}
}
He leído que es mejor para bloquear en objetos privados, pero no sé cómo hacerlo, al tiempo que permite la MeasuringInstrument sea get/set en el dispositivo. ¿Alguna sugerencia?
Gracias mucho,
Ken
para las generaciones futuras: Gestionado roscado Buenas Prácticas http://msdn.microsoft.com/en-us/library/1c9txz50(v=vs.110).aspx – Brad