"콘솔 응용 프로그램"으로 프로젝트 하나 만듦.



==> Program.cs




// 프로세스(Process) : 하나의 프로그램 단위(프로젝트)
// 스레드(Thread) : 프로세스안에서 실행하는 단위 프로그램(메서드)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Diagnostics;

namespace 스레드
{
    class Program
    {
        static void Main(string[] args)
        {
            //Win();
            //Sql();
            //Ide();
            ThreadStart ts1 = new ThreadStart(Win);
            ThreadStart ts2 = new ThreadStart(Sql);
           

            Thread t1 = new Thread(ts1);
            Thread t2 = new Thread(ts2);
            Thread t3 = new Thread(new ThreadStart(Ide));

            t3.Priority = ThreadPriority.Highest; // 우선순위 높게

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

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

        }

        private static void Ide()
        {
            DelayTime();
            Console.WriteLine("[3] IDE : Visual Studio");
        }

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

        private static void Win()
        {
            DelayTime();
            Console.WriteLine("[1] OS : Windows Server");
        }

        private static void DelayTime()
        {
            for (int i = 0; i < 1000000000; i++) { } // 시간지연 메서드           
        }
    }
}



/*
스레드 영역에 메서드 올려놓고 운영체제에서 실행함
- 프로세스는 코드에서 작성(호출)한대로 절차지향식으로 실행됨.
*/




< 실행결과 >

--> 콘솔창에서는 스레드를 실행한 결과가 나왔으며("Program.cs"의 분홍색 형광펜 부분), "프로세스"를 실행한 결과 "웹브라우저 창"과 "메모장"이 순서대로 실행되고 열렸다("Program.cs"의 하늘색 형광펜 부분).




Posted by holland14
: