본문 바로가기

쓰레드3

다중 쓰레드 by 한동훈(traxacun@unitel.co.kr) 지난 시간(1. 쓰레드는 무엇인가?)에는 간단한 쓰레드를 생성하는 방법에 대해서 살펴보았다. 이번에는 동시에 여러 개의 쓰레드를 다루는 다중 쓰레드에 대해서 알아보자. 여러 개의 쓰레드를 이용하는 프로그램을 작성하는 것은 쉽다. 원하는 수 만큼 쓰레드를 생성하는 프로그램을 작성하기만 하면 된다. 여기서는 하나의 응용프로그램이 세 개의 쓰레드를 갖고 있고, 각각의 쓰레드는 인쇄하기, 저장하기, 철자 검사하기 작업을 시뮬레이션 한다고 가정한다.namespace csharp { using System; using System.Threading; csharp라는 네임 스페이스를 만든다. 기본 라이브러리인 System 네임 스페이스와 쓰레드를 사용하기 위해 S.. 2013. 4. 24.
thread pool 이용하기 5개의 스레드를 스레드풀에 생성해 놓고 이 작업이 끝난 후에 print 문으로 콘솔창에 출력하는 내용 using System; using System.Threading; namespace ThreadPoolTest { class Program { private const int NumThreads = 5; private static int[] inputArray; private static double[] resultArray; private static ManualResetEvent[] resetEvents; private static void Main(string[] args) { inputArray = new int[NumThreads]; resultArray = new double[NumThrea.. 2013. 4. 24.
멀티스레드 구현하기(threadpool) 멀티스레드 구현하기(threadpool)먼저 스레드가 무엇인지 부터 알고 넘어가야겠죠?컴퓨터 상에서 프로그램을 실행시키면 프로세스라고 부르는 하나의 일관된 작업이 일어나게 됩니다.여기에서 하나의 프로세스 상에서 일어나는 행위를 스레드 라고 부르면 될꺼 같습니다. 그리고 멀티 스레드란 하나의 프로세스에서 두개이상의 스레드가 동시 또는 순차적으로 일어나는 행위를 가르켜 멀티 스레드 라고 부릅니다. 이해를 돕기 위해서 싱글 스레드와 멀티 스레드의 개념도를 그려 보았습니다. 머리속에 있는 스레드의 개념을 대충 그려서 올려봤습니다. 1번과 2번은 언뜻 보기에 처리 시간이 비슷하게 보일지모르지만처리 과정에서 CPU idletime이 생기는 동안에 다른 스레드가 CPU에 올라가서작업을하기 때문에실제로는 1번보다 2번.. 2013. 4. 24.