130. 스레드(Thread)
.NET프로그래밍/C# 3.5 SP1 2009. 9. 2. 13:35 |
"콘솔 응용 프로그램"으로 프로젝트 하나 만듦.
==> 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"의 하늘색 형광펜 부분).
'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글
124. 나만의 라이브러리(Library) 만들기 (0) | 2009.09.02 |
---|---|
123. 어셈블리(Assembly)관련 메모 (0) | 2009.09.02 |
122. 웹서비스 실습 (0) | 2009.09.01 |
121. GAC(Global Assembly Cache / 전역(=공용)어셈블리캐시) 사용(참조)하기 (0) | 2009.09.01 |
120. DLL파일만들기 (0) | 2009.09.01 |