Ejemplo n.º 1
0
        public void RemoveTimerTest()
        {
            TimeSlice tTimer = null; // TODO: 初始化为适当的值

            TimerThread.RemoveTimer(tTimer);
            Assert.Inconclusive("无法验证不返回值的方法。");
        }
Ejemplo n.º 2
0
        public void startTimer(ITrainingSegmentInfo wiimoteRecord, bool p_MP3Option, string introductoryMessage)
        {
            TimerThread.getTimerThread().startTimer(Configuration.getConfiguration().NumBeatsPerMinute, Configuration.getConfiguration().NumBeatsPerBar,
                                                    Configuration.getConfiguration().NumBars, Configuration.getConfiguration().LeadIn, p_MP3Option, introductoryMessage);
//            TimerThread.getTimerThread().startTimer(wiimoteRecord.NumBeatsPerMinute, wiimoteRecord.NumBeatsPerBar,
//                wiimoteRecord.NumBars, wiimoteRecord.LeadIn, p_MP3Option, introductoryMessage);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 开启游戏世界
        /// </summary>
        public void StartWorld()
        {
            if (m_isStartWorld)
            {
                return;
            }
            m_isStartWorld = true;

            StaticConfigFileManager.LoadData();

            InitLogicModule();

            StartServerSocket();

            TimerThread.MainTask = mainTask;
            TimerThread.StartTimerThread();

            mainTask.StartThread();

            if (UseManyTaskThread)
            {
                lowTask.StartThread();
                assistTask.StartThread();
            }
        }
Ejemplo n.º 4
0
            internal static readonly TimerThread THREAD = LoadTimerThread(); // LUCENENET: Avoid static constructors (see https://github.com/apache/lucenenet/pull/224#issuecomment-469284006)

            private static TimerThread LoadTimerThread()
            {
                var thread = new TimerThread(Counter.NewCounter(true));

                thread.Start();
                return(thread);
            }
Ejemplo n.º 5
0
        public void PriorityChangeTest()
        {
            TimeSlice      tTimer      = null;                 // TODO: 初始化为适当的值
            TimerFrequency newPriority = new TimerFrequency(); // TODO: 初始化为适当的值

            TimerThread.PriorityChange(tTimer, newPriority);
            Assert.Inconclusive("无法验证不返回值的方法。");
        }
Ejemplo n.º 6
0
 public void openCam()
 {
     TimerThread.Enabled = true;
     TimerThread.Start();
     fuenteVideo             = new VideoCaptureDevice(ball[CameraComboBox.SelectedIndex].MonikerString);
     VideoViewer.VideoSource = fuenteVideo;
     VideoViewer.Start();
 }
Ejemplo n.º 7
0
 public void Start()
 {
     if (!m_Running)
     {
         m_Running = true;
         TimerThread.AddTimer(this);
     }
 }
Ejemplo n.º 8
0
 public void Stop()
 {
     if (m_Running)
     {
         m_Running = false;
         TimerThread.RemoveTimer(this);
     }
 }
Ejemplo n.º 9
0
 private void RaiseErrorEvent(FileSenderErrorArgs arg)
 {
     SendingError?.Invoke(arg);
     if (arg.IsCritical)
     {
         SenderThread?.Abort();
         TimerThread.Abort();
     }
 }
Ejemplo n.º 10
0
 private void RaiseErrorEvent(FileReceiverErrorArgs arg)
 {
     ReceiveError?.Invoke(arg);
     if (arg.IsCritical)
     {
         RecieverThread?.Abort();
         TimerThread.Abort();
     }
 }
Ejemplo n.º 11
0
        static NetController()
        {
            TimerThread.TaskManager = s_taskManager;
            TimerThread.StartTimerThread();

            //  在u3d环境下,任务需要丢到主线程里执行
            //  因为默认情况会在里面进行图形绘制
            //  模拟器或者测试用例,则需要自己手动启动处理线程
            //s_taskManager.StartThread();
        }
Ejemplo n.º 12
0
        public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, int timeoutMillsec)
        {
            TimerThread tt = new TimerThread(timeoutMillsec);

            try {
                return(MessageBox.Show(text, caption, buttons, icon, defaultButton, options));
            }
            finally {
                tt.Terminate();
            }
        }
Ejemplo n.º 13
0
        public void StopAsync()
        {
            ForceStop = true;

            while (RecieverThread.ThreadState == ThreadState.Running)
            {
                Thread.Sleep(100);
            }

            TimerThread.Abort();
        }
 public static DialogResult Show(string text, string caption, int timeoutMillsec)
 {
     TimerThread tt = new TimerThread(timeoutMillsec);
     try
     {
         return MessageBox.Show(text, caption);
     }
     finally
     {
         tt.Terminate();
     }
 }
Ejemplo n.º 15
0
        public void Initialize()
        {
            TimerThread.getTimerThread().BeatTimerEvent += new TimerThread.OnBeatTimerEvent(OnBeatTimerEvent);
            TimerThread.getTimerThread().StartingRecordingTimerEvent += new TimerThread.OnStartingRecordingTimerEvent(OnStartingRecordingTimerEvent);
            TimerThread.getTimerThread().TimerCompletedEvent         += new TimerThread.OnTimerCompletedEvent(OnTimerCompletedEvent);
            TimerThread.getTimerThread().TimerInterruptedEvent       += new TimerThread.OnTimerInterruptedEvent(OnTimerInterruptedEvent);

            MatlabWrapper.MatlabWiimoteWrapper.initialize();

            WiimoteDataStore.Deserialize();

            m_WiimoteDataAdaptor.initialize((WiimoteCalibrationRecordInfo)getCalibrationRecord());

            m_WiimoteStateThreadRunState = false;
        }
        public QuercusTimer()
        {
            _currentTime = System.currentTimeMillis();

            TimerThread timerThread = null;

            try {
                timerThread = new TimerThread();
                timerThread.start();
            } catch (Throwable e) {
                // should display for security manager issues
            }

            _timerThread = timerThread;
        }
        public cntrlBannerStatus()
        {
            InitializeComponent();

            this._msgsError   = new Queue <Message>();
            this._msgsWarning = new Queue <Message>();
            this._msgsInfo    = new Queue <Message>();

            //Create our thread.
            TimerThread timer = new TimerThread();

            timer.TimeUp               += new EventHandler(timer_TimeUp);
            this._threadTiming          = new Thread(new ThreadStart(timer.StartTimer));
            this._threadTiming.Name     = "Background Display Timer Thread";
            this._threadTiming.Priority = ThreadPriority.Lowest;
            this._threadTiming.Start();
        }
Ejemplo n.º 18
0
 public void StopAsync()
 {
     if (SenderThread == null)
     {
         throw new InvalidOperationException("Отправка либо не запущена, либо запущена как синхронный процесс (если так, то я хз был вызван этот метод -_-)");
     }
     ForceStop = true;
     while (SenderThread.ThreadState == ThreadState.Running)
     {
         Thread.Sleep(10);
     }
     if (!Master.ph.File_Close())
     {
         RaiseErrorEvent(new FileSenderErrorArgs(FileSenderError.CantCloseFile, false));
     }
     TimerThread.Abort();
 }
 public MoveTimer(InteriorCrocodileAlligator owner) : base(TimeSpan.FromHours(1), TimeSpan.FromHours(1))
 {
     m_Owner = owner;
     TimerThread.PriorityChange(this, 7);
 }
Ejemplo n.º 20
0
    // ThreadPool::exit() terminates the threads before the program exits. Cannot be
    // done in d'tor because threads must be terminated before freeing us.
    internal static void exit()
    {
        delete_thread(timer); // As first because check_time() accesses threads data
        timer = null;

        foreach (Thread t in threads)
        {
            delete_thread(t);
        }
        threads.Clear();
    }
Ejemplo n.º 21
0
 private static void launch_threads(object state)
 {
     var initEvents = (WaitHandle[]) state;
     timer = new TimerThread(initEvents[0]);
     threads.Add(new MainThread(initEvents[1]));
     read_uci_options(initEvents);
 }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            if (null == _item)
            {
                return;
            }
            _MAX_CAM       = Global.deviceHole.SxtCount - 1;
            _listSampleNum = new List <TextBox>();
            int sampleNum = _item.SampleNum;
            int holeUse   = 0;

            // 添加布局
            for (int i = 0; i < Global.deviceHole.SxtCount; ++i)
            {
                UIElement element = GenerateChannelLayout(i, String.Format("{0:D5}", sampleNum), _item.Hole[i].SampleName);
                WrapPanelChannel.Children.Add(element);
                if (_item.Hole[i].Use)
                {
                    holeUse += 1;
                    sampleNum++;
                    _listSampleNum.Add(UIUtils.GetChildObject <TextBox>(element, "sampleNum"));
                }
                else
                {
                    element.Visibility = System.Windows.Visibility.Collapsed;
                    _listSampleNum.Add(null);
                }
            }
            if (holeUse < 4)
            {
                if (holeUse == 1)
                {
                    this.WrapPanelChannel.Width = 190;
                }
                else if (holeUse == 2)
                {
                    this.WrapPanelChannel.Width = 380;
                }
                else if (holeUse == 3)
                {
                    this.WrapPanelChannel.Width = 570;
                }
            }
            // 初始化辅助方框及TC线的参数
            _bTCLineNeedSetting = new bool[Global.deviceHole.SxtCount];
            _helpBoxes          = new HelpBox[Global.deviceHole.SxtCount];
            for (int i = 0; i < _bTCLineNeedSetting.Length; ++i)
            {
                _bTCLineNeedSetting[i] = false;
                _helpBoxes[i]          = new HelpBox();
            }

            // 初始化灰阶值存储位置
            _bRGBValuesNeedRead = new bool[Global.deviceHole.SxtCount];
            _listRGBValues      = new List <byte[]>();
            for (int i = 0; i < _bRGBValuesNeedRead.Length; ++i)
            {
                _bRGBValuesNeedRead[i] = false;
                _listRGBValues.Add(null);
            }

            // 启动线程
            _updateCAMThread = new UpdateCAMThread(this);
            _updateCAMThread.Start();
            _bTimerWork        = true;
            _msgReadCAMReplyed = true;
            _timerThread       = new TimerThread(this);
            _timerThread.Start();
            Message msg = new Message()
            {
                what = MsgCode.MSG_TIMER_WORK
            };

            _timerThread.SendMessage(msg, null);
        }
Ejemplo n.º 23
0
 static TimerThreadHolder()
 {
     THREAD = new TimerThread(Counter.NewCounter(true));
     THREAD.Start();
 }
Ejemplo n.º 24
0
        public static void GameMain()
        {
            //infinateloop
            TimerThread timer = new TimerThread();
            System.Threading.Thread timerThread = new System.Threading.Thread(new System.Threading.ThreadStart(timer.Timer));
            timerThread.Start();
            while (!timerThread.IsAlive);
            ConsoleKeyInfo key;
            int selection = 1;
            int idx = 0;
            RanderPegSelection(selection, idx);
            do
            {
                while(Console.KeyAvailable == false)
                {
                    if(tMin == mTime && timeLimit == true)
                    {
                        while (timerThread.IsAlive);
                        lock(_locker)
                        {
                            Console.SetCursorPosition(11,15);
                            Console.BackgroundColor = ConsoleColor.Black;
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.Write("You are out of time! :-(");
                        }
                        RanderHiddienCode();
                        win = 0;
                        for (int i = 0; i < 4; i++)
                        {
                            fBack[i] = 0;
                            userGuess[i] = 0;
                        }
                        PlaySongLose();
                        System.Threading.Thread.Sleep(1500);
                        GameOver();
                    }
                    if (tMin == 99 && tSec == 59)
                    {
                        while (timerThread.IsAlive);
                        Console.SetCursorPosition(6, 15);
                        Console.BackgroundColor = ConsoleColor.Black;
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.Write("Do you really need that much time?");
                        RanderHiddienCode();
                        win = 0;
                        for (int i = 0; i < 4; i++)
                        {
                            fBack[i] = 0;
                            userGuess[i] = 0;
                        }
                        PlaySongLose();
                        System.Threading.Thread.Sleep(1500);
                        GameOver();
                    }
                }
                key = Console.ReadKey(true);
                if (key.KeyChar == 'a')
                {
                    //move select left
                    if (selection == 1)
                    {
                        selection = 1;
                    }
                    else
                    {
                        selection--;
                    }
                    RanderPegSelection(selection, idx);
                }
                else if (key.KeyChar == 'd')
                {
                    //move select right
                    if (selection == 4)
                    {
                        selection = 4;
                    }
                    else
                    {
                        selection++;
                    }
                    RanderPegSelection(selection, idx);

                }
                else if (key.KeyChar == 'r')
                {
                    //draw red in cur selection
                    userGuess[selection - 1] = 1;
                    RanderPlayerGuess(idx);
                }
                else if (key.KeyChar == 'l')
                {
                    //draw lime in cur selection
                    userGuess[selection - 1] = 2;
                    RanderPlayerGuess(idx);
                }
                else if (key.KeyChar == 'y')
                {
                    //draw yellow in cur selection
                    userGuess[selection - 1] = 3;
                    RanderPlayerGuess(idx);
                }
                else if (key.KeyChar == 'b')
                {
                    //draw blue in cur selection
                    userGuess[selection - 1] = 4;
                    RanderPlayerGuess(idx);
                }
                else if (key.KeyChar == 'w')
                {
                    //check if normal dif if not do noting
                    //draw white in cur selection
                    if (mColors >= 5)
                    {
                        userGuess[selection - 1] = 5;
                        RanderPlayerGuess(idx);
                    }
                }
                else if (key.KeyChar == 'c')
                {
                    //check if normal dif if not do nothing
                    //draw cyan in cur selection
                    if (mColors >= 6)
                    {
                        userGuess[selection - 1] = 6;
                        RanderPlayerGuess(idx);
                    }
                }
                else if (key.KeyChar == 'm')
                {
                    //check if hard dif if not do nothing
                    //draw magenta in cur selection
                    if (mColors >= 7)
                    {
                        userGuess[selection - 1] = 7;
                        RanderPlayerGuess(idx);
                    }
                }
                else if (key.KeyChar == 'g')
                {
                    //check if hard dif if not do nothing
                    //draw gray in cur selection
                    if (mColors == 8)
                    {
                        userGuess[selection - 1] = 8;
                        RanderPlayerGuess(idx);
                    }
                }
                else if (key.KeyChar == 13)
                {
                    //check to see if the guess is complete
                    if (userGuess[0] != 0 && userGuess[1] != 0 && userGuess[2] != 0 && userGuess[3] != 0)
                    {
                        //compere guess whit hiddien code
                        //show feedback
                        for (int i = 0; i < 4; i++)
                        {
                            for (int j = 0; j < 4; j++)
                            {
                                if (Identical(userGuess[i], hCode[j]))
                                {
                                    if (i == j)
                                    {
                                        fBack[i] = 2;
                                        break;
                                    }
                                    else
                                    {
                                        fBack[i] = 1;
                                    }
                                }
                            }
                        }
                        guesses++;
                        RanderKeyPegs(idx);
                        RanderPlayerGuess(idx);
                        if (fBack[0] == 2 && fBack[1] == 2 && fBack[2] == 2 && fBack[3] == 2)
                        {
                            timerThread.Abort();
                            timerThread.Join();
                            RanderHiddienCode();
                            win = 1;
                            for (int i = 0; i < 4; i++)
                            {
                                fBack[i] = 0;
                                userGuess[i] = 0;
                            }
                            PlaySongWin();
                            System.Threading.Thread.Sleep(1500);
                            GameOver();
                        }
                        else if (guesses == mGuesses)
                        {
                            timerThread.Abort();
                            timerThread.Join();
                            RanderHiddienCode();
                            win = 0;
                            for (int i = 0; i < 4; i++)
                            {
                                fBack[i] = 0;
                                userGuess[i] = 0;
                            }
                            PlaySongLose();
                            System.Threading.Thread.Sleep(1500);
                            GameOver();
                        }
                        for (int i = 0; i < 4; i++)
                        {
                            fBack[i] = 0;
                            userGuess[i] = 0;
                        }
                        idx = idx - 2;
                        selection = 1;
                        RanderPegSelection(selection, idx);
                    }
                }
                else if (key.KeyChar == 'n')
                {
                    //used for testing
                    RanderHiddienCode();
                }
            }
            while (1 != 2);
        }
Ejemplo n.º 25
0
        public virtual bool Init(ServerExecuteType executeType, string version, string name = null)
        {
            Running = new AtomicBool();
            Stopped = new AtomicBool();

            ExecuteType = executeType;
            Name = string.IsNullOrEmpty(name) == true ? Process.GetCurrentProcess().ProcessName : name;
            Version = version;
            ModuleName = Name;

            CreateLogger();

            Logger.Info("Init");

            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

            if (LoadServerConfig() == false)
            {
                if (ExecuteType == ServerExecuteType.Console)
                {
                    Console.ReadKey();
                }
                return false;
            }

            TheadPoolEx.SetMinMaxThreads(
                m_ServerConfig.MinWorkerThreads == 0 ? Environment.ProcessorCount : m_ServerConfig.MinWorkerThreads,
                m_ServerConfig.MaxWorkerThreads == 0 ? Environment.ProcessorCount * 2: m_ServerConfig.MaxWorkerThreads,
                m_ServerConfig.MinCompletionPortThreads == 0 ? Environment.ProcessorCount : m_ServerConfig.MinCompletionPortThreads,
                m_ServerConfig.MaxCompletionPortThreads == 0 ? Environment.ProcessorCount * 2 : m_ServerConfig.MaxCompletionPortThreads);

            m_Sessions = new ConcurrentDictionary<long, Session>();
            m_Listeners = new List<Listener>();

            try
            {
                int bufferSize = m_ServerConfig.ReceiveBufferSize;

                if (bufferSize <= 0)
                    bufferSize = 1024 * 4;

                // Send, Recv
                m_BufferManager = new BufferManager(bufferSize * m_ServerConfig.MaxConnectionNumber * 2, bufferSize);

                try
                {
                    m_BufferManager.InitBuffer();

                    int[] poolSizes = new int[] { 4096, 16, 128, 256, 1024 };
                    m_PooledBufferManager = new PooledBufferManager(poolSizes);

                    {
                        SocketAsyncEventArgs socketEventArg;
                        var socketArgsList = new List<SocketAsyncEventArgs>(m_ServerConfig.MaxConnectionNumber);

                        for (int i = 0; i < m_ServerConfig.MaxConnectionNumber; i++)
                        {
                            socketEventArg = new SocketAsyncEventArgs();
                            socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(CompletedReceive);
                            m_BufferManager.SetBuffer(socketEventArg);
                            socketArgsList.Add(socketEventArg);
                        }
                        m_RecvSAEAPool = new ConcurrentStack<SocketAsyncEventArgs>(socketArgsList);
                    }

                    {
                        SocketAsyncEventArgs socketEventArg;
                        var socketArgsList = new List<SocketAsyncEventArgs>(m_ServerConfig.MaxConnectionNumber);
                        for (int i = 0; i < m_ServerConfig.MaxConnectionNumber; i++)
                        {
                            socketEventArg = new SocketAsyncEventArgs();
                            socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(CompletedSend);
                            //m_BufferManager.SetBuffer(socketEventArg);
                            // Send할때 별도의 풀을 사용할거라서
                            socketEventArg.SetBuffer(null, 0, 0);
                            socketArgsList.Add(socketEventArg);
                        }
                        m_SendSAEAPool = new ConcurrentStack<SocketAsyncEventArgs>(socketArgsList);
                    }
                }
                catch (Exception e)
                {
                    Logger.Error("메모리 부족! 최대 접속 허용 인원 설정을 낮추세요", e);
                    if (ExecuteType == ServerExecuteType.Console)
                    {
                        Console.ReadKey();
                    }
                    return false;
                }

                m_Updater = new TimerThread(Update, null, 1);

                return true;
            }
            catch (Exception e)
            {
                Logger.Error("Server.Init", e);
                if (ExecuteType == ServerExecuteType.Console)
                {
                    Console.ReadKey();
                }
                return false;
            }
        }