private void TryConnect(EndPoint targetAddress) { var socketArgs = new SocketAsyncEventArgs { RemoteEndPoint = targetAddress }; socketArgs.Completed += SocketConnectionComplete; nativeSocket.ConnectAsync(socketArgs); if (TimedOut != null) { ThreadExtensions.Start(() => { if (waitForTimeoutHandle.WaitOne((int)(Timeout * 1000))) { return; } if (IsConnected || isDisposed) { return; } TimedOut(); Dispose(); }); } }
public void Start3() { const string Param = "name from parameter"; Thread t = ThreadExtensions.Start(UpdateNameViaParameter, Param); t.Join(); Assert.AreEqual(Param, t.Name); }
public void Start1() { int num = 1; Thread t = ThreadExtensions.Start(() => IncrementNumber(ref num)); Assert.AreEqual(1, num); t.Join(); Assert.AreEqual(2, num); }
private void OnLaunchAppClicked(object launchButton, RoutedEventArgs e) { Panel controlOwner = GetControlOwner(launchButton); AppInfo selectedApp = GetBoundApp(controlOwner); (launchButton as Control).IsEnabled = false; Action enableLaunchButtonAgain = () => Dispatcher.BeginInvoke(new Action(() => (launchButton as Control).IsEnabled = true)); ThreadExtensions.Start(() => LaunchApp(selectedApp, enableLaunchButtonAgain)); }
public void Start2() { Thread t = ThreadExtensions.Start("thread name", () => {}); Assert.AreEqual("thread name", t.Name); }