public void RequestHistoricalUpdate() { if(Monitor.TryEnter(_historicalUpdateThreadMutex)) { Monitor.Exit(_historicalUpdateThreadMutex); ThreadPool.QueueUserWorkItem(HistoricalDataUpdate); } }