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() 메서드를 사용하면 윈도 운영 체제에서 인터넷 익스플로러 및 메모장을 실행할 수 있습니다.