Inheritance: AbstractWorkerThread
        public void HanoiThreadTest() {
            if(log.IsInfoEnabled)
                log.Info("main : BEGIN");

            try {
                var thread = new HanoiThread("Hanoi Thread");

                thread.ThreadStarted += ThreadThreadStarted;
                thread.ThreadFinished += ThreadThreadFinished;
                thread.ShutDownRequested += ThreadShutDownRequested;

                thread.Start();

                ThreadTool.Sleep(5000);

                if(log.IsInfoEnabled)
                    log.Info("main : Call ShutDown() ");

                thread.ShutDown();

                if(log.IsInfoEnabled)
                    log.Info("main : Call Join() ");

                thread.Join();

                Assert.IsFalse(thread.IsAlive);
            }
            catch(ThreadInterruptedException) {
                if(IsDebugEnabled)
                    log.Debug("쓰레트가 중단되었습니다.");
            }

            if(log.IsInfoEnabled)
                log.Info("main : END");
        }
示例#2
0
        public void HanoiThreadTest()
        {
            if (log.IsInfoEnabled)
            {
                log.Info("main : BEGIN");
            }

            try {
                var thread = new HanoiThread("Hanoi Thread");

                thread.ThreadStarted     += ThreadThreadStarted;
                thread.ThreadFinished    += ThreadThreadFinished;
                thread.ShutDownRequested += ThreadShutDownRequested;

                thread.Start();

                ThreadTool.Sleep(5000);

                if (log.IsInfoEnabled)
                {
                    log.Info("main : Call ShutDown() ");
                }

                thread.ShutDown();

                if (log.IsInfoEnabled)
                {
                    log.Info("main : Call Join() ");
                }

                thread.Join();

                Assert.IsFalse(thread.IsAlive);
            }
            catch (ThreadInterruptedException) {
                if (IsDebugEnabled)
                {
                    log.Debug("쓰레트가 중단되었습니다.");
                }
            }

            if (log.IsInfoEnabled)
            {
                log.Info("main : END");
            }
        }