public void T04() { ShowThread("Main()"); RateManager rm = new RateManager(); rm.InterestRate = 5; int newRate = 7; //replaces this in T03 ThreadPool.QueueUserWorkItem((e) => { rm.SetRate(r2); }); Task.Factory.StartNew(() => { rm.SetRate(newRate); }); Thread.Sleep(300); //give the bg thread time to set the new rate Console.WriteLine("Interest Rate is: " + rm.InterestRate + " ThreadID:" + Thread.CurrentThread.ManagedThreadId); }
public void T03() { ShowThread("Main()"); RateManager rm = new RateManager(); rm.InterestRate = 5; int r2 = 7; ThreadPool.QueueUserWorkItem((e) => { ShowThread("Threadpool "); rm.SetRate(r2); }); Thread.Sleep(300); //give the bg thread time to set the new rate Console.WriteLine("Interest Rate is: " + rm.InterestRate + " ThreadID:" + Thread.CurrentThread.ManagedThreadId); }