본문 바로가기
C#/책 예제

C# / Thread 시작

by HyunS_ 2019. 6. 8.
728x90

스레드 예제 입니다.

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);
            }
        }
    }
}
728x90

댓글