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));
        }
Exemple #2
14
        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();
            }
        }
Exemple #3
1
        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);
        }
Exemple #6
1
 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();
     }
 }
Exemple #7
1
        /*
        * 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");
        }
Exemple #8
1
 public static void Start()
 {
     var t = new Thread((ThreadStart)delegate {
         new ShareUpdater().Run();
     });
     t.Start();
 }
Exemple #9
1
        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();
 }
Exemple #11
1
        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();
 }
Exemple #13
1
 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;
        }
Exemple #16
1
 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();
        }
Exemple #19
1
 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;
 }
Exemple #21
1
 public static void Start()
 {
     keepGoing = true;
     taskThread = new Thread( TaskLoop );
     taskThread.IsBackground = true;
     taskThread.Start();
 }
Exemple #22
1
        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();
            }
        }
Exemple #23
0
        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;
        }
Exemple #24
0
 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());
     }
 }
Exemple #25
0
 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.");
     }
 }
Exemple #26
0
 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;
        }
Exemple #28
0
 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();
             }
         });
     }
 }
Exemple #29
0
        /// <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();
     }
 }
Exemple #31
0
    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());
    }
Exemple #32
0
        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();

        }
Exemple #33
0
 /// <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();
 }
Exemple #34
0
        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);
 }
Exemple #36
0
        public void Start()
        {
            _backgroundThread = new Thread(Tick)
            {
                IsBackground = true
            };

            _backgroundThread?.Start();
        }
Exemple #37
0
        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();
        }
Exemple #38
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (this.PhotoMode == false)
            {
                decodingThread?.Start();
            }
            ////
            LoadDevicesToCombobox();
        }
Exemple #39
0
        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();
        }
Exemple #40
0
        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();
        }
Exemple #41
0
 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();
            }
        }
Exemple #44
0
 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();
             }
         });
     }
 }
Exemple #45
0
        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");
                }
            }
        }
Exemple #46
0
        /// <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();
        }
Exemple #47
0
        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();
        }
Exemple #48
0
        /// <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
        }
Exemple #49
0
 public void Start()
 {
     Thread?.Start();
 }
 public void StartKeyboardCapture()
 {
     KeyInputThread?.Start();
 }
 public void Start() => Thread?.Start();
Exemple #52
0
 public void Start()
 {
     RunThread?.Start();
 }
Exemple #53
0
 public UpdateRateRegulator()
 {
     t1 = new Thread(new ThreadStart(tick));
     t1.Start();
 }
 public void Start()
 {
     baseThread?.Start();
 }
Exemple #55
0
 public void Start()
 {
     mThreader?.Start();
 }
Exemple #56
0
 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();
        }
Exemple #58
0
 private static void StartThread(Thread t)
 {
     t?.Start();
 }
Exemple #59
0
        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)
            {
            }
        }
Exemple #60
0
        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();
            }
        }