스레드 예제 입니다.

using System;
using System.Threading;

namespace ThreadNTask
{
    class Program
    {
        static void Main(string[] args)
        {
            // 스레드의 인스턴스를 생성합니다.
            Thread thread = new Thread(new ThreadStart(ThreadTest));

            Console.WriteLine("스레드 시작");

            // 스레드를 시작합니다.
            thread.Start();

            // ThreadTest 메소드가 실행되는 동시에 메인 스레드의 반복문도 같이 실행됩니다.
            for(int i = 0; i < 5; i++)
            {
                Console.WriteLine($"메인: {i}");
                Thread.Sleep(500);
            }

            Console.WriteLine("스레드 멈출때까지 대기합니다.");

            // 스레드의 종료를 대기합니다.
            thread.Join();

            Console.WriteLine("종료");
        }

        // 스레드를 실행할 메소드 입니다.
        private static void ThreadTest()
        {
            for(int i = 0; i < 10; i++)
            {
                Console.WriteLine($"ThreadTest: {i}");

                // Sleep() 메소드는 다른 스레드도 CPU를 사용할 수 있도록 CPU 점유를 내려놓습니다.ㅅ
                Thread.Sleep(500);
            }
        }
    }
}

'C# > 책 예제' 카테고리의 다른 글

C# Thread Monitor 키워드를 이용한 동기화  (0) 2019.06.08
C# Thread lock 키워드를 이용한 동기화  (0) 2019.06.08
C# Thread 인터럽트로 종료하기.  (0) 2019.06.08
C# Thread 상태 변화  (0) 2019.06.08
C# Thread 임의 종료  (0) 2019.06.08
C# / Thread 시작  (0) 2019.06.08

+ Recent posts