Hoons.Net/C#

캠퍼스 시삽 과제 6-1) 쓰레드의 개념과 닷넷에서 지원하는 쓰레드

Houkibosi 2012. 8. 27. 12:04

쓰레드란?


쓰레드는 잘 쓰면 득이지만 잘 못쓰면 해가 된다는 말을 많이 들었다.

도스 시절에는 명령어를 열심히 치면 그 한 줄의 명령어를 실행했다.

그리고 사용자는 그 실행이 끝날 때 까지 기다려야 했다.


하지만 GUI환경에서는 사람들이 음악을 들으며 인터넷을 하고

메신져로 대화를 한다.

하물며 인터넷창도 여러개를 띄우고 작업을 하고

문서작성시에는 인터넷창과 워드창을 동시에 띄워서 작업한다.

이런 환경을 흔히 '멀티OS'라고 부른다.


이런 다중작업을 위해서 필요한 것이 쓰레드이다.

CPU의 1코어당 한가지의 일을 할 수 있지만 

쓰레드를 이용하며 두가지 이상의 일을 번갈아 가며 처리할 수 있고

기술의 발전으로 다중코어를 사용하는 지금

코어별로 쓰레드를 할당 할 수도 있다.


OS는 프로그램 하나당 하나의 프로세스이다.

그리고 이 하나의 프로세스를 동시에 처리하기 위한 것이 쓰레드이다.

인터넷 익스플로러 하나만 보더라도 

탭을 이용하여 다수의 창을 동시에 띄워서 사용하고

인터넷 검색을 할 때도 글씨를 입력받으면서

관련어검색등의 기능도 수행하고 여러가지를 동시에 한다.