Files
MeadeGeneric/Meade.net/ThreadSafeBool.cs
T
Sebastian Godelet 6fc476b031 Make further properties multi-client and thread-safe
Move MovingPrimary, MovingSecondary, EarliestNonSlewingTime to
SharedResources, make all new properties thread-safe (atomic)
operations.
2021-06-22 17:21:21 +10:00

17 lines
473 B
C#

using System.Threading;
namespace ASCOM.Meade.net
{
public class ThreadSafeBool
{
private object _value;
public ThreadSafeBool(in bool value) => _value = value;
public void Set(in bool value) => Interlocked.Exchange(ref _value, value);
public static implicit operator ThreadSafeBool(in bool value) => new ThreadSafeBool(value);
public static implicit operator bool(ThreadSafeBool @this) => (bool)@this._value;
}
}