public void Stop() { Trading = false; if (TradeThread?.ThreadState == ThreadState.Running) { TradeThread.Join(); } if (LogThread.ThreadState == ThreadState.WaitSleepJoin) { LogThread.Abort(); } else if (LogThread.ThreadState == ThreadState.Running) { LogThread.Join(); } }
public void Start(bool async) { Trading = true; LogThread.Start(); if (async) { if (TradeThread == null) { TradeThread = new Thread(new ThreadStart(_Trade)); TradeThread.Name = "TradeThread"; TradeThread.Priority = ThreadPriority.Highest; } TradeThread.Start(); } else { _Trade(); } }