using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DTLib.Reactive { public abstract class ReactiveWorker { protected List> Streams = new(); protected SafeMutex StreamCollectionAccess = new(); public void Join(ReactiveStream stream) => StreamCollectionAccess.Execute(()=>Streams.Add(stream)); public void Leave(ReactiveStream stream) => StreamCollectionAccess.Execute(() => Streams.Remove(stream)); } }