더북(TheBook)

55.3 다중 스레드를 사용한 메서드 함께 호출하기

메서드 3개를 서로 다른 스레드 3개에 할당하여 실행하는 프로그램을 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

메서드 3개를 서로 다른 스레드 3개에 할당: ThreadPractice.cs

using System;
using System.Diagnostics;
using System.Threading;

class ThreadPractice
{
    private static void Ide()
    {
        Thread.Sleep(3000); //3초 딜레이
        Console.WriteLine("[3] IDE : Visual Studio");
    }

    private static void Sql()
    {
        Thread.Sleep(3000); //3초 딜레이
        Console.WriteLine("[2] DBMS : SQL Server");
    }

    private static void Win()
    {
        Thread.Sleep(3000); //3초 딜레이
        Console.WriteLine("[1] OS : Windows Server");
    }

    static void Main()
    {
        //① 스레드
        ThreadStart ts1 = new ThreadStart(Win);
        ThreadStart ts2 = new ThreadStart(Sql);

        Thread t1 = new Thread(ts1);
        var t2 = new Thread(ts2);
        var t3 = new Thread(new ThreadStart(Ide))
        {
            Priority = ThreadPriority.Highest //우선순위 높게
        };

        t1.Start();
        t2.Start();
        t3.Start();

        //② 프로세스
        Process.Start("IExplore.exe");    //익스플로러 실행
        Process.Start("Notepad.exe");    //메모장 실행
    }
}

실행 결과

[2] DBMS : SQL Server
[3] IDE : Visual Studio
[1] OS : Windows Server

에서 스레드를 3개 생성하여 실행하면 결과는 매번 다르게 표현될 수 있습니다. 에서 Process 클래스의 Start() 메서드를 사용하면 윈도 운영 체제에서 인터넷 익스플로러 및 메모장을 실행할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.