public void Resume() { if(active) { lock(lockObject) { cts = new CancellationTokenSource(); thread = new Thread(() => TransmitLoop(cts.Token)) { Name = this.GetType().Name, IsBackground = true }; thread.Start(); } } }