private void updateSpeed(object sender, DoWorkEventArgs e) { Thread.Sleep(TimeSpan.FromSeconds(5)); this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, (ThreadStart) delegate() { if (SpeedStats.isConnected()) { rConnect.Fill = Brushes.LightGreen; Speedy.Text = SpeedStats.CalcSpeed(); } else { rConnect.Fill = Brushes.Red; Speedy.Text = "0"; } }); }
public static SpeedStats GetSpeed() { reda.EnterWriteLock(); SpeedStats spd; try { spd = new SpeedStats() { netSpeed = CalcSpeed() }; } finally { reda.ExitWriteLock(); } return(spd); }