오늘의 코딩

C# Thread

용성 2022. 1. 24. 14:04
class dragon_Thread
    {
        public void Run()
        {
            for(int i=0; i<50; i++)
            {

                if (i != 0 &&i % 5 == 0)
                {
                    Thread.Sleep(3000);
                    Console.WriteLine("나는 5의 배수이다.");
                    Console.WriteLine(i);

                } else
                {
                    Console.WriteLine(i);
                }
            }
                Console.WriteLine("Thread 종료");
        }
    }
class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());
            Program p = new Program();
            p.Thread_go();
        }

        void Thread_go()
        {
            dragon_Thread d = new dragon_Thread();

            Thread t1 = new Thread(new ThreadStart(d.Run));
            t1.Start();

            //Console.WriteLine("Interrupt");
            //t1.Interrupt();

            Console.WriteLine("IsAlive");
            bool t1Bool = t1.IsAlive;
            Console.WriteLine("지금 Thread의 실행 상태는 : "+ t1Bool );

            Console.WriteLine("Suspend");
            t1.Suspend();
            Console.WriteLine("Suspend 잠자는중");
            Thread.Sleep(4000);

            Console.WriteLine("Resume");
            t1.Resume();
            Console.WriteLine("Resume 다시 시작");

            //Console.WriteLine("Join");
            //t1.Join();

            Console.WriteLine("6초 뒤에 Abort");
            Thread.Sleep(10000);
            t1.Abort();
            Console.WriteLine("종료");
        }
    }

728x90