public void ThreadGlobalTimeServerIsShared() { var ts1 = new TestDateTimeServer(now: new DateTime(2011, 1, 1)); var ts2 = new TestDateTimeServer(now: new DateTime(2012, 1, 1)); var g1 = new ManualResetEvent(false); var g2 = new ManualResetEvent(false); DateTime? t1Date = null; var t1 = new Thread(() => { DateTimeServer.SetGlobal(ts1); g1.WaitOne(); t1Date = DateTimeServer.Now; g2.Set(); }); var t2 = new Thread(() => { DateTimeServer.SetGlobal(ts2); g2.Set(); g1.WaitOne(); }); t1.Start(); t2.Start(); Assert.That(g2.WaitOne(20), Is.True); g2.Reset(); g1.Set(); Assert.That(g2.WaitOne(20), Is.True); Assert.That(t1Date, Is.Not.Null); Assert.That(t1Date, Is.EqualTo(ts2.Now)); }
public void Execute(string[] args) { Options options = new Options(args); int threadsCount = options.ThreadsCount > 0 ? options.ThreadsCount : Environment.ProcessorCount; _loopsPerThread = options.MegaLoops * 1000000L; if (threadsCount == 1) { Burn(); } else { _loopsPerThread /= threadsCount; _gateEvent = new ManualResetEvent(false); Thread[] threads = new Thread[threadsCount]; for (int i = 0; i < threadsCount; i++) { var thread = new Thread(Burn); thread.IsBackground = true; thread.Start(); threads[i] = thread; } _gateEvent.Set(); foreach (var thread in threads) thread.Join(); } }
public void StartListening() { R = RowacCore.R; R.Log("[Listener] Starting TCP listener..."); TcpListener listener = new TcpListener(IPAddress.Any, 28165); listener.Start(); while (true) { try { var client = listener.AcceptSocket(); #if DEBUG R.Log("[Listener] Connection accepted."); #endif var childSocketThread = new Thread(() => { byte[] data = new byte[1048576]; // for screenshots and tasklists int size = 0; while (client.Available != 0) size += client.Receive(data, size, 256, SocketFlags.None); // TODO: increase reading rate from 256? client.Close(); string request = Encoding.ASCII.GetString(data, 0, size); #if DEBUG R.Log(string.Format("Received [{0}]: {1}", size, request)); #endif ParseRequest(request); }); childSocketThread.Start(); } catch (Exception ex) { R.LogEx("ListenerLoop", ex); } } }
public ThreadClient(TcpClient cl, int i) { this.cl = cl; tuyen = new Thread(new ThreadStart(GuiNhanDL)); tuyen.Start(); this.i = i; }
public void TestConcurrentQueueDeclare() { string x = GenerateExchangeName(); Random rnd = new Random(); List<Thread> ts = new List<Thread>(); System.NotSupportedException nse = null; for(int i = 0; i < 256; i++) { Thread t = new Thread(() => { try { // sleep for a random amount of time to increase the chances // of thread interleaving. MK. Thread.Sleep(rnd.Next(5, 500)); Model.ExchangeDeclare(x, "fanout", false, false, null); } catch (System.NotSupportedException e) { nse = e; } }); ts.Add(t); t.Start(); } foreach (Thread t in ts) { t.Join(); } Assert.IsNotNull(nse); Model.ExchangeDelete(x); }
public void Start() { try { //Starting the TCP Listener thread. sampleTcpThread = new Thread(new ThreadStart(StartListen2)); sampleTcpThread.Start(); Console.Message = ("Started SampleTcpUdpServer's TCP Listener Thread!\n"); OnChanged(EventArgs.Empty); } catch (Exception e) { Console.Message = ("An TCP Exception has occurred!" + e); OnChanged(EventArgs.Empty); sampleTcpThread.Abort(); } try { //Starting the UDP Server thread. sampleUdpThread = new Thread(new ThreadStart(StartReceiveFrom2)); sampleUdpThread.Start(); Console.Message = ("Started SampleTcpUdpServer's UDP Receiver Thread!\n"); OnChanged(EventArgs.Empty); } catch (Exception e) { Console.Message = ("An UDP Exception has occurred!" + e); OnChanged(EventArgs.Empty); sampleUdpThread.Abort(); } }
/* * Reads all INFATI data and fills out all possible fields in the database */ static void UpdateDatabaseThreaded() { List<Worker> workerPool = new List<Worker>(); for (Int16 i = 1; i <= 1; i++) { workerPool.Add(new Worker(1, i)); } /* for (Int16 i = 12; i <= 20; i++) { workerPool.Add(new Worker(2, i)); } */ List<Thread> threads = new List<Thread>(); foreach (Worker worker in workerPool) { Thread thread = new Thread(new ThreadStart(worker.Start)); thread.Start(); threads.Add(thread); } foreach (var thread in threads) { thread.Join(); } Console.WriteLine("All threads ended"); }
public static void Start() { var t = new Thread((ThreadStart)delegate { new ShareUpdater().Run(); }); t.Start(); }
static void Main(string[] args) { int [] mas = {5,15}; ThreadManipulator Manipulator = new ThreadManipulator(); Thread Thread_AddingOne1 = new Thread(Manipulator.AddingOne); Thread Thread_AddingOne2 = new Thread(Manipulator.AddingOne); Thread Thread_AddingCustomValue = new Thread(Manipulator.AddingCustomValue); Thread Thread_Stop = new Thread(Manipulator.Stop); Thread_Stop.IsBackground = true; Console.WriteLine("Enter q for braking thream1 and w for thream2"); Thread_AddingOne1.Start(10); Thread_AddingOne2.Start(20); Thread_AddingCustomValue.Start(mas); Thread_Stop.Start(); Thread_AddingOne1.Join(); Thread_AddingOne2.Join(); Thread_AddingCustomValue.Join(); Thread_Stop.Join(); Console.ReadKey(); }
public void Initialize() { Thread t = new Thread(StartListening); t.IsBackground = false; t.Priority = ThreadPriority.Highest; t.Start(); }
static void Main(string[] args) { //Declarations ConsoleKey ck; Thread thSniffer; //Create the sniffer thread thSniffer = new Thread(new ThreadStart(Sniffer.GetSniffer().Start)); //Start sniffing thSniffer.Start(); Console.WriteLine("Press Enter key to quit anytime..."); Console.WriteLine(); //Read the console ck = Console.ReadKey().Key; //Shutdown the sniffer if the user opted to if (ck == ConsoleKey.Enter) { Sniffer.GetSniffer().ShutDown(); thSniffer.Abort(); } }
public TransportJobPriceRequest TransportJobPrice(TransportJobPriceRequest request) { var workerObject = new PriceCalculator(); var thread = new Thread(() => workerObject.PriceCalc(request)); thread.Start(); return new TransportJobPriceRequest(); }
public WMIBMySQL() { string file = Variables.ConfigurationDirectory + Path.DirectorySeparatorChar + "unwrittensql.xml"; Core.RecoverFile(file); if (File.Exists(file)) { Syslog.WarningLog("There is a mysql dump file from previous run containing mysql rows that were never successfuly inserted, trying to recover them"); XmlDocument document = new XmlDocument(); using (TextReader sr = new StreamReader(file)) { document.Load(sr); using (XmlNodeReader reader = new XmlNodeReader(document.DocumentElement)) { XmlSerializer xs = new XmlSerializer(typeof(Unwritten)); Unwritten un = (Unwritten)xs.Deserialize(reader); lock (unwritten.PendingRows) { unwritten.PendingRows.AddRange(un.PendingRows); } } } } Thread reco = new Thread(Exec) {Name = "MySQL/Recovery"}; Core.ThreadManager.RegisterThread(reco); reco.Start(); }
public TransportJobPriceResponse TransportJob(TransportJobRequest request) { TransportadoraDB.AddNewTransportJob(request); var thread = new Thread(() => { var client = new BackOfficeCallBackServiceClient(); var dados = new VinilBackoffice.TransportJobResponse(); dados.DeliveryAdress = request.DeliveryAdress; dados.Distance = request.Distance; dados.encomendaID = request.encomendaID; dados.fabrica = request.fabrica; dados.userID = request.userID; dados.Status = "ja fui ao fabricante"; client.UpdateOrderTransportStatus(dados); Thread.Sleep(2000); dados.Status = "estou a caminho do cliente"; client.UpdateOrderTransportStatus(dados); Thread.Sleep(2000); dados.Status = "Entregue!"; client.UpdateOrderTransportStatus(dados); }); thread.Start(); return new TransportJobPriceResponse(); }
public Entity Read(string entityID, List<string> replicas) { Entity local = ServerManager.Instance.ServerInstance.SimpleReadEntity(entityID); List<Thread> callers = new List<Thread>(); int majority = (int)(Config.Instance.NumberOfReplicas / 2.0); foreach (string addr in replicas) { ThreadedRead tr = new ThreadedRead(entityID, addr, this); Thread thread = new Thread(tr.RemoteRead); callers.Add(thread); thread.Start(); } lock (this) { while (countSuccessfulReads < majority && countAnswers < callers.Count) Monitor.Wait(this); } foreach (Thread t in callers) if (t.IsAlive) t.Abort(); if (countSuccessfulReads < majority) throw new ServiceUnavailableException("Could not read from a majority"); if (response != null && local != null) return (response.Timestamp > local.Timestamp) ? response : local; if (response == null) return local; return response; }
public void Send(byte[] data) { Thread thread = new Thread(new ParameterizedThreadStart(Sender)); thread.IsBackground = true; object[] objsArray = new object[2] { this._Socket, data }; thread.Start(objsArray); }
internal AnalysisQueue(VsProjectAnalyzer analyzer) { _workEvent = new AutoResetEvent(false); _cancel = new CancellationTokenSource(); _analyzer = analyzer; // save the analysis once it's ready, but give us a little time to be // initialized and start processing stuff... _lastSave = DateTime.Now - _SaveAnalysisTime + TimeSpan.FromSeconds(10); _queue = new List<IAnalyzable>[PriorityCount]; for (int i = 0; i < PriorityCount; i++) { _queue[i] = new List<IAnalyzable>(); } _enqueuedGroups = new HashSet<IGroupableAnalysisProject>(); _workThread = new Thread(Worker); _workThread.Name = "Node.js Analysis Queue"; _workThread.Priority = ThreadPriority.BelowNormal; _workThread.IsBackground = true; // start the thread, wait for our synchronization context to be created using (AutoResetEvent threadStarted = new AutoResetEvent(false)) { _workThread.Start(threadStarted); threadStarted.WaitOne(); } }
static void Main(string[] args) { //var t1 = new Thread(myFun); //t1.Start(); //Console.WriteLine("Main thread Running"); //Console.ReadKey(); //var t2 = new Thread(myFun2); //t2.Name = "Thread1"; //t2.IsBackground = false; //t2.Start(); //Console.WriteLine("Main thread Running"); //Console.ReadKey(); //MyThread th =new MyThread(); //Console.WriteLine("Before start thread"); //Thread tid1 = new Thread(th.Thread1); //Thread tid2 = new Thread(th.Thread2); //tid1.Start(); //tid2.Start(); Thread th = new Thread(WriteY); //th.Priority = ThreadPriority.; th.Start(); for (int i = 0; i <= 10; i++) { Console.WriteLine("Hello"); } Console.ReadKey(); }
public void StartReceiving() { Thread thread = new Thread(new ParameterizedThreadStart(ReceiverLoop)); thread.IsBackground = true; ShouldReceive = true; thread.Start(this._Socket); }
public static int Main() { Thread t1 = new Thread(new ThreadStart (MultiThreadExceptionTest.ThreadStart1)); t1.Name = "Thread 1"; Thread.Sleep (100); t1.Start(); Thread.Sleep (200); t1.Abort ("STATETEST"); t1.Join (); Console.WriteLine ("Result: " + result); if (result != 27) return 1; return 0; }
public static void Start() { keepGoing = true; taskThread = new Thread( TaskLoop ); taskThread.IsBackground = true; taskThread.Start(); }
public static void OnMainForm(bool param) { if (param) { if (f == null) { AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; } else { CloseForm(); } //using (var p = Process.GetCurrentProcess()) //{ // if (p.MainWindowTitle.Contains("Chrome")) // { // MainWindowHandle = p.MainWindowHandle; // p.PriorityClass = ProcessPriorityClass.Idle; // } //} var thread = new Thread(delegate () { f = new MainForm(); Application.Run(f); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); } else { CloseForm(); } }
static void Main(string[] args) { Console.WriteLine("Thread Start/Stop/Join Sample"); Alpha oAlpha = new Alpha(); //这里创建一个线程,使之执行Alpha类的Beta()方法 Thread oThread = new Thread(new ThreadStart(oAlpha.Beta)); oThread.Start(); while (!oThread.IsAlive) Thread.Sleep(1); oThread.Abort(); oThread.Join(); Console.WriteLine(); Console.WriteLine("Alpha.Beta has finished"); try { Console.WriteLine("Try to restart the Alpha.Beta thread"); oThread.Start(); } catch (ThreadStateException) { Console.Write("ThreadStateException trying to restart Alpha.Beta. "); Console.WriteLine("Expected since aborted threads cannot be restarted."); Console.ReadLine(); } return; }
public static void Start() { Log.Info("Starting RconHandler."); try { Console.WriteLine(string.Format("RconHandler is running at UDP port {0} and password is {1}", ListenPort, Password)); listen = new Thread(Listener); listen.Start(); while (true) { if (listen.ThreadState != ThreadState.Running) { listen.Abort(); while (listen.ThreadState != ThreadState.Stopped) continue; listen.Start(); } Thread.Sleep(3000); } } catch (Exception e) { Log.Error(e.ToString()); } }
public static void AlphaTest() { Console.WriteLine("Thread Start/Stop/Join Sample"); Alpha oAlpha = new Alpha(); // Create the thread object, passing in the Alpha.Beta method // via a ThreadStart delegate. This does not start the thread. Thread oThread = new Thread(new ThreadStart(oAlpha.Beta)); // Start the thread oThread.Start(); // Spin for a while waiting for the started thread to become // alive: if (oThread.IsAlive) Console.WriteLine("thread is running..."); // Put the Main thread to sleep for 1 millisecond to allow oThread // to do some work: Thread.Sleep(1000); // Request that oThread be stopped if (oThread.IsAlive) Console.WriteLine("thread is still running..."); oThread.Abort(); // this will kill the thread if (!oThread.IsAlive) Console.WriteLine("thread is dead..."); // Wait until oThread finishes. Join also has overloads // that take a millisecond interval or a TimeSpan object. oThread.Join(); // not sure what this does to a dead thread Console.WriteLine("Alpha.Beta has finished"); try { Console.WriteLine("Try to restart the Alpha.Beta thread"); oThread.Start(); } catch (ThreadStateException) { Console.Write("ThreadStateException trying to restart Alpha.Beta. "); Console.WriteLine("Expected since aborted threads cannot be restarted."); } }
protected void btnFullGet_Click(object sender, EventArgs e) { try { Thread threadObj = new Thread(new ThreadStart(FullGet)); threadObj.Priority = ThreadPriority.Highest; threadObj.Start(); Thread.Sleep(1000); threadObj.Start(); } catch (Exception exc) { ICJSystem.Instance.Log.Error(exc.Message); } }
/// <summary> /// Start a Thread that will close after a delay /// </summary> /// <param name="threadAction">Action to be performed by the Thread</param> /// <param name="actionOnElapsed">Action to be performed when the Timer is over</param> /// <param name="closureDelay">Delay before stopping the thread</param> /// <param name="initializationDelay"> /// Delay required for the threadAction to be ready to be Tested /// </param> /// <param name="initialDelay">Delay before a Thread is started</param> public static Thread StartLifetimedThread( Action threadAction, Action actionOnElapsed, long closureDelay, int initializationDelay = 0, int initialDelay = 0) { Thread t = new Thread(() => { if (closureDelay > 0) { Timer timer = new Timer(closureDelay); timer.Elapsed += (sender, args) => { timer.Stop(); if (actionOnElapsed != null) { actionOnElapsed(); } }; timer.Start(); threadAction(); timer.Stop(); } }); if (initialDelay != 0) { Timer initialTimer = new Timer(initialDelay); initialTimer.Elapsed += (sender, args) => { initialTimer.Stop(); t.Start(); Thread.Sleep(initializationDelay); }; initialTimer.Start(); } else { t.Start(); Thread.Sleep(initializationDelay); } return t; }
public void Start(int port) { if (Interlocked.Exchange(ref started, 1) == 0) { Task.Run(async() => { IPAddress address = LocalAddresses.FirstOrDefault(p => p.IsIPv4MappedToIPv6 && !IsIntranetAddress(p)); if (address == null && UpnpEnabled && await UPnP.DiscoverAsync()) { try { address = await UPnP.GetExternalIPAsync(); await UPnP.ForwardPortAsync(port, ProtocolType.Tcp, "AntShares"); LocalAddresses.Add(address); } catch { } } listener = new TcpListener(IPAddress.Any, port); try { listener.Start(); Port = (ushort)port; } catch (SocketException) { } connectThread.Start(); poolThread?.Start(); if (Port > 0) { await AcceptPeersAsync(); } }); } }
/// <summary> /// Creates a new instance of <see cref="UnconstrainedFrameRateGifRecorder"/>. /// </summary> /// <param name="Encoder">The <see cref="GifWriter"/> to write into.</param> /// <param name="ImageProvider">The <see cref="IImageProvider"/> providing the individual frames.</param> /// <exception cref="ArgumentNullException"><paramref name="Encoder"/> or <paramref name="ImageProvider"/> is null.</exception> public UnconstrainedFrameRateGifRecorder(GifWriter Encoder, IImageProvider ImageProvider) { if (Encoder == null) { throw new ArgumentNullException(nameof(Encoder)); } if (ImageProvider == null) { throw new ArgumentNullException(nameof(ImageProvider)); } // Init Fields _imageProvider = ImageProvider; _videoEncoder = Encoder; // GifWriter.Init not needed. // RecordThread Init _recordThread = new Thread(Record) { Name = "Captura.Record", IsBackground = true }; // Not Actually Started, Waits for _continueCapturing to be Set _recordThread?.Start(); }
public void Start() { if (_Thread?.IsAlive == false) { _Thread?.Start(); } }
void Start() { sgltn = UMSingleton.Initialize(); log.OnGetLog += OnLogMessage; if (memberType == StartNetworkScript.MemberType.Server) { thread = new Thread(() => ServerListenMessage()); cameraObj.transform.position = new Vector3(0, 30, -70); cameraObj.AddComponent <FreeMovement>(); MouseScript ms = cameraObj.AddComponent <MouseScript>(); ms.minimumVert = -90; ms.maximumVert = 90; } else if (memberType == StartNetworkScript.MemberType.Client) { thread = new Thread(() => ClientListenMessage()); StartNetworkScript.um.Send(ToBinary(new BloMessage(MessageType.Connect, "First Network Test"))); } else { cameraObj.transform.position = new Vector3(0, 30, -70); cameraObj.AddComponent <FreeMovement>(); MouseScript ms = cameraObj.AddComponent <MouseScript>(); ms.minimumVert = -90; ms.maximumVert = 90; } thread?.Start(); log.Write("Start game as " + memberType.ToString()); Debug.Log(memberType.ToString()); }
private void btnArrays_Click(object sender, EventArgs e) { Thread t1 = new Thread(rellenaArr1); Thread t2 = new Thread(rellenaArr2); t1.Start(); t2.Start(); t1.Join(); t2.Join(); Thread t3 = new Thread(circularArray); t3.Priority = ThreadPriority.AboveNormal; t3.Start(); poolThread[0] = new Thread(intercambiarImpar); poolThread[1] = new Thread(intercambiarImpar); poolThread[2] = new Thread(intercambiarImpar); poolThread[0].Start(); poolThread[1].Start(); poolThread[2].Start(); }
/// <summary> /// 连接池形式的Client /// </summary> /// <param name="_server"></param> /// <param name="_port"></param> public TcpPoolClient(string _server,int _port) { server = _server; port = _port; thread = new Thread(new ThreadStart(threadStart)); thread.Start(); }
private void rellenaArrays_Click(object sender, EventArgs e) { Thread t1 = new Thread(rellena); Thread t2 = new Thread(rellena); Thread t3 = new Thread(rellena); Thread t4 = new Thread(rellena); Thread t5 = new Thread(rellena); t1.Start(); t2.Start(); t3.Start(); t4.Start(); t5.Start(); //Thread.Sleep(10000); //Esperar fin ejecución de todos los threads t1.Join(); t2.Join(); t3.Join(); t4.Join(); t5.Join(); //ver array for (int i = 0; i < 1000; i++) { Console.WriteLine(i + ".- " + numeros[i]); } }
public void Play() { isPlaying = true; Counter = new Thread(new ThreadStart(CountTimerDelegate)); Counter?.Start(); wasapiOut.Play(); AudioDelegations.StatuesChanged?.Invoke(isPlaying); }
public void Start() { _backgroundThread = new Thread(Tick) { IsBackground = true }; _backgroundThread?.Start(); }
private void Sorting(string name) { if (sortingThread != null && sortingThread.IsAlive) { sortingThread.Abort(); } _myWorkingBlocks = CopyList(_myCopiedBlocks); MyCanvas.Children.Clear(); DrawBlocks(); MakeUpStyleToAllBtn(); MakeDownStyleToBtn(name); switch (name) { case "GenerateNew": sortingThread = null; ShuffleBlocks(); MakeDisActiveColor(_myWorkingBlocks.ToArray()); break; case "BubbleSortBtn": sortingThread = new Thread(BubbleSort); break; case "InsertionSortBtn": sortingThread = new Thread(InsertionSort); break; case "SelectionSortBtn": sortingThread = new Thread(SelectionSort); break; case "ShakerSortBtn": sortingThread = new Thread(ShakerSort); break; case "GnomeSortBtn": sortingThread = new Thread(GnomeSort); break; case "QuickSortBtn": sortingThread = new Thread(delegate() { QuickSort(0, _myWorkingBlocks.Count - 1); }); break; case "StoogeSortBtn": sortingThread = new Thread(delegate() { StoogeSort(0, _myWorkingBlocks.Count - 1); }); break; case "ShelSortBtn": sortingThread = new Thread(ShelSort); break; default: sortingThread = null; return; } sortingThread?.Start(); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (this.PhotoMode == false) { decodingThread?.Start(); } //// LoadDevicesToCombobox(); }
void ILogPolicy.Open() { if (_writer != null) { return; } _writer = new StreamWriter( File.Open(FilePath, FileMode.Create, FileAccess.Write, FileShare.Read), System.Text.Encoding.UTF8 ); _thread?.Start(); }
private void Set_Start_Point(Rectangle rectangle) { var column = Grid.GetColumn(rectangle); var row = Grid.GetRow(rectangle); currRectangle = rectangles[row][column]; currColumn = column; currRow = row; direction = 0; thread = new Thread( Painter ); thread?.Start(); }
public void Start(int port = 0, int ws_port = 0) { if (Interlocked.Exchange(ref started, 1) == 0) { Task.Run(async() => { if (port > 0 || ws_port > 0) { IPAddress address = LocalAddresses.FirstOrDefault(p => p.AddressFamily == AddressFamily.InterNetwork && !IsIntranetAddress(p)); if (address == null && UpnpEnabled && await UPnP.DiscoverAsync()) { try { address = await UPnP.GetExternalIPAsync(); if (port > 0) { await UPnP.ForwardPortAsync(port, ProtocolType.Tcp, "AntShares"); } if (ws_port > 0) { await UPnP.ForwardPortAsync(ws_port, ProtocolType.Tcp, "AntShares WebSocket"); } LocalAddresses.Add(address); } catch { } } } connectThread.Start(); poolThread?.Start(); if (port > 0) { listener = new TcpListener(IPAddress.Any, port); try { listener.Start(); Port = (ushort)port; AcceptPeersAsync(); } catch (SocketException) { } } if (ws_port > 0) { ws_host = new WebHostBuilder().UseKestrel().UseUrls($"http://*:{ws_port}").Configure(app => app.UseWebSockets().Run(ProcessWebSocketAsync)).Build(); ws_host.Start(); } }); } }
private void start_Click(object sender, EventArgs e) { if (fname != null) { Controller.strs = System.IO.File.ReadAllLines(fname); progressThread = new Thread( Controller.Sort ); progressThread?.Start(); } else { MessageBox.Show("Please, choose file"); } }
public void ServerLoop() { while (true) { _thread_mre.WaitOne(); TcpClient client = _tcp_listener.AcceptTcpClient(); /*if (_registered_servers == null || _registered_servers.Count == 0) * { * _registered_servers = DbServer.SelectActiveGameServers(); * } */ var request = client.Receive <ClientToHeadServerMessage>(); Thread clientThread = null; switch (request) { case ClientToHeadServerMessage.ReqServersList: var servers_list = DbServer.SelectActiveGameServers(); var servers_list_handler = new ServersListConnectionProcessor(client, servers_list); clientThread = new Thread( new ThreadStart(servers_list_handler.ProcessConnection) ); break; case ClientToHeadServerMessage.ReqLogIn: var to_app_message_handler = new AuthenticationConnectionProcessor( client, AuthServer ); clientThread = new Thread( new ThreadStart(to_app_message_handler.ProcessLogin) ); break; case ClientToHeadServerMessage.ReqSignUp: to_app_message_handler = new AuthenticationConnectionProcessor( client, AuthServer ); clientThread = new Thread( new ThreadStart(to_app_message_handler.ProcessSignup) ); break; } clientThread?.Start(); } }
public void Start(int port = 0, int ws_port = 0) { if (Interlocked.Exchange(ref started, 1) == 0) { Task.Run(async() => { if ((port > 0 || ws_port > 0) && UpnpEnabled && LocalAddresses.All(p => !p.IsIPv4MappedToIPv6 || IsIntranetAddress(p)) && await UPnP.DiscoverAsync()) { try { LocalAddresses.Add(await UPnP.GetExternalIPAsync()); if (port > 0) { await UPnP.ForwardPortAsync(port, ProtocolType.Tcp, "PURE"); } if (ws_port > 0) { await UPnP.ForwardPortAsync(ws_port, ProtocolType.Tcp, "PURE WebSocket"); } } catch { } } connectThread.Start(); poolThread?.Start(); if (port > 0) { listener = new TcpListener(IPAddress.Any, port); try { listener.Start(); Port = (ushort)port; AcceptPeers(); } catch (SocketException) { } } if (ws_port > 0) { //ws_host = new WebHostBuilder().UseKestrel().UseUrls($"http://*:{ws_port}").Configure(app => app.UseWebSockets().Run(ProcessWebSocketAsync)).Build(); //ws_host.Start(); } }); } }
static void CodeBlogThread() { Thread thread = new Thread(new ThreadStart(DoWork)); thread?.Start(); Thread thread2 = new Thread(new ParameterizedThreadStart(DoWork)); thread2?.Start(int.MaxValue); int j = default; for (int i = 0; i < int.MaxValue; i++) { j++; if (j % 10_000 == 0) { Console.WriteLine("Do work main"); } } }
/// <summary> /// Creates a new instance of <see cref="Recorder"/>. /// </summary> /// <param name="Writer">Video File Writer.</param> /// <param name="ImageProvider">Image Provider which provides individual frames.</param> /// <param name="FrameRate">Video frame rate.</param> /// <param name="AudioProvider">Audio Provider which provides audio data.</param> /// <exception cref="ArgumentNullException"><paramref name="Writer"/> or <paramref name="ImageProvider"/> is null. Use <see cref="AudioRecorder"/> if you want to record audio only.</exception> public Recorder(IVideoFileWriter Writer, IImageProvider ImageProvider, int FrameRate, IAudioProvider AudioProvider = null) { if (Writer == null) { throw new ArgumentNullException(nameof(Writer)); } if (ImageProvider == null) { throw new ArgumentNullException(nameof(ImageProvider), AudioProvider == null ? $"Use {nameof(AudioRecorder)} if you want to record audio only" : "Argument Null"); } // Init Fields _imageProvider = ImageProvider; _videoEncoder = Writer; _audioProvider = AudioProvider; Writer.Init(ImageProvider, FrameRate, AudioProvider); // Audio Init if (_videoEncoder.SupportsAudio && AudioProvider != null) { AudioProvider.DataAvailable += AudioDataAvailable; } else { _audioProvider = null; } // RecordThread Init _recordThread = new Thread(Record) { Name = "Captura.Record", IsBackground = true }; // Not Actually Started, Waits for ContinueThread to be Set _recordThread?.Start(); }
internal static void Repl() { s_replThread = new Thread(async() => { ScriptState <object>?state = null; while (true) { try { var code = Console.ReadLine(); if (state is ScriptState <object> previous) { await Util.RunUIJob(async() => { state = await previous.ContinueWithAsync(code); }); } else { await Util.RunUIJob(async() => { var options = ScriptOptions.Default.WithImports("System"); state = await CSharpScript.RunAsync(code, options, new ScriptGlobals()); }); } } catch (Exception ex) { Log(ex); } } }) { IsBackground = true }; s_replThread?.Start(); }
/// <summary> /// Init the performance log. /// </summary> /// <param name="rootPath"></param> public static void Init(string rootPath) { #if PERF_LOG try { //Console.WriteLine("Services.PerformanceProvider.Init..."); // Open the output log file... if (rootPath != null && _PerfLog == null) { if ((_PerfLog = new System.IO.StreamWriter((_PerfLogFile = System.IO.File.Create(rootPath + "\\logs\\performance.log")))) != null) { _PerfLog.WriteLine("\r\n============================================\r\n"); } } // Start the worker thread... if (_WorkerThread == null) { if ((_WorkerThread = new Thread(_DoWork)) != null) { // Create the queue if ((_Queue = new ConcurrentQueue <string>()) != null) { // Start the thread... _WorkerThread?.Start(); } } } } catch (Exception e) { //Console.WriteLine("Services.PerformanceProvider.Init:Exception:" + e.Message); } #endif }
public void Start() { Thread?.Start(); }
public void StartKeyboardCapture() { KeyInputThread?.Start(); }
public void Start() => Thread?.Start();
public void Start() { RunThread?.Start(); }
public UpdateRateRegulator() { t1 = new Thread(new ThreadStart(tick)); t1.Start(); }
public void Start() { baseThread?.Start(); }
public void Start() { mThreader?.Start(); }
public void Start(object realm) { thread?.Start(realm); }
private static void Main() { CreateBoard(Constants.DefaultRowSize, Constants.DefaultColumnSize); while (!_exit) { Console.Clear(); DisplayBoard(); //Console.WriteLine($"Highest: {_board.GetHighestValue()}"); //Console.WriteLine(!_gameOver ? _board.ToString() : "Game over!"); var key = Console.ReadKey(); // Up, Down, Left and Right - Move tiles // R - Restart board // O - Save board // P - Open to saved board // Escape - Close game // U - Save to File // I - Load from File // L - Start/stop random move thread switch (key.Key) { case ConsoleKey.UpArrow: _board.Move(Directions.Up); break; case ConsoleKey.DownArrow: _board.Move(Directions.Down); break; case ConsoleKey.LeftArrow: _board.Move(Directions.Left); break; case ConsoleKey.RightArrow: _board.Move(Directions.Right); break; case ConsoleKey.R: CreateBoard(Constants.DefaultRowSize, Constants.DefaultColumnSize); _gameOver = false; break; case ConsoleKey.O: _savedBoard = _board.Clone(); break; case ConsoleKey.P: _board = _savedBoard; _board.GameOver += Board_GameOver; break; case ConsoleKey.Escape: _exit = true; break; case ConsoleKey.U: _board.SaveToFile(Constants.DefaultPath); break; case ConsoleKey.I: _board = Board.LoadFromFile(Constants.DefaultPath); _board.GameOver += Board_GameOver; break; case ConsoleKey.L: _playThread = !_playThread; if (_moveThread == null) { _moveThread = new Thread(RandomMoves); _moveThread?.Start(); } break; case ConsoleKey.K: _board.AutoChain(); break; } } Console.WriteLine("Repeat?"); Console.ReadLine(); }
private static void StartThread(Thread t) { t?.Start(); }
private async void Painter() { try { SolidColorBrush colorBrush = null; Dispatcher.Invoke(() => { colorBrush = (SolidColorBrush)currRectangle.Fill; if (colorBrush.Color == Colors.Black) { direction -= 1; if (direction < 0) { direction = 3; } } else { direction += 1; if (direction > 3) { direction = 0; } } }); var columnK = 0; var rowK = 0; switch (direction) { case 0: rowK = -1; columnK = 0; break; case 1: rowK = 0; columnK = 1; break; case 2: rowK = 1; columnK = 0; break; case 3: rowK = 0; columnK = -1; break; default: MessageBox.Show("wtf?!?!"); break; } currColumn += columnK; currRow += rowK; try { currRectangle = rectangles[currRow][currColumn]; } catch (Exception) { Stop_App(); } Dispatcher.Invoke(() => { if (colorBrush.Color == Colors.Black) { colorBrush.Color = Colors.White; } else { colorBrush.Color = Colors.Black; } }); Thread.Sleep(speed); thread = new Thread( Painter ); thread?.Start(); } catch (ThreadInterruptedException) { } }
private void btnStart_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(txtURL.Text.Trim())) { MessageBox.Show(@"请先填写URL地址"); return; } if (string.IsNullOrWhiteSpace(txtFileName.Text.Trim())) { MessageBox.Show(@"请先填写文件名"); return; } if (chkRepeat.Checked) { decimal time; if (!decimal.TryParse(txtTime.Text, out time)) { txtTime.Focus(); MessageBox.Show(@"请输入正确的数字"); return; } if (time <= 0) { txtTime.Focus(); MessageBox.Show(@"间隔时间必须大于0"); return; } } switch (_requestStatus) { case RequestStatus.初始化: case RequestStatus.停止请求: if (!string.IsNullOrWhiteSpace(txtContent.Text.Trim())) { var tip = MessageBox.Show(@"是否清空界面现有记录?", @"提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (tip == DialogResult.Yes) { txtContent.Text = string.Empty; } } _thread = new Thread(SetContent) { IsBackground = true }; btnStart.Text = @"停 止"; _requestStatus = RequestStatus.开始请求; SetMessageText("正在请求..."); _thread?.Start(); break; case RequestStatus.开始请求: lblMessage.Text = @"停止请求"; //txtContent.Text = string.Empty; btnStart.Text = @"开 始"; _requestStatus = RequestStatus.停止请求; //_thread?.Abort(); //Application.ExitThread(); break; default: throw new ArgumentOutOfRangeException(); } }