private static async Task ThreadMethodAddWatcherAync(Client c, IThrottledMarketDataStream stream) { await Task.CompletedTask; stream.AddWatcher(c); System.Diagnostics.Debug.WriteLine("ThreadMethodAddWatcherAync Thread ManagedThreadId : {0}", Thread.CurrentThread.ManagedThreadId); }
private void ThrottledMarketDataStreamMultithreadingAddWatchers(List <Client> list, IThrottledMarketDataStream stream) { // create a bunch of threads List <Thread> threads = new List <Thread>(); list.ForEach(x => threads.Add(new Thread(() => ThreadMethodAddWatcher(x, stream)))); // start them threads.ForEach(x => x.Start()); // wait for them to finish threads.ForEach(x => x.Join()); }
private static void ThreadMethodRemoveWatcher(Client c, IThrottledMarketDataStream stream) { stream.RemoveWatcher(c); System.Diagnostics.Debug.WriteLine("Thread ManagedThreadId : {0}", Thread.CurrentThread.ManagedThreadId); }