internal override void Start(GXDLMSServer svr) { server = svr; if (CapturePeriod != 0) { updater = new GXProfileGenericUpdater(server, this); thread = new Thread(new ThreadStart(updater.UpdateProfileGenericData)); thread.IsBackground = true; thread.Start(); } }
internal override void Stop(GXDLMSServer server) { if (updater != null) { updater.Closing.Set(); if (thread != null) { thread.Join(10000); thread = null; } updater = null; } }
internal override void Start(GXDLMSServer svr) { server = svr; if (CapturePeriod != 0) { updater = new GXProfileGenericUpdater(server, this); #if !WINDOWS_UWP thread = new Thread(new ThreadStart(updater.UpdateProfileGenericData)); thread.IsBackground = true; thread.Start(); #else thread = System.Threading.Tasks.Task.Factory.StartNew(updater.UpdateProfileGenericData); #endif } }
internal override void Stop(GXDLMSServer server) { if (updater != null) { updater.Closing.Set(); if (thread != null) { #if !WINDOWS_UWP thread.Join(10000); #else thread.Wait(10000); #endif thread = null; } updater = null; } }