스폰서 링크
멀티스레드 프로그램은 두 가지 방법에 의해 구현될 수 있다.
1. pthreads와 Windows 스레드와 같은 저 수준 스레드 라이블러리를 이용하는 방법
스레드 생성 시 pthread_create, CreateThread 함수를 이용한다. 이 방법은 스레드를 미세하게 제어하는데 유리하지만 스레드에 대한 많은 이해를 필요로 한다. (Thread pool을 직접 구현해야 한다.)
저 수준 스레드 라이블러리를 이용하는 방법은 UI등의 비동기 처리를 구현이나 예외 처리 구조를 구현하는데 적당하다.
2. OpenMP 를 이용하는 방법
OpenMP는 Multi-threaded 어플리케이션을 개발하기 위한 API로 공유 메모리 환경에서 멀티스레드 병렬 프로그램을 작성할 수 있다.
스레드 생성시 #pragma omp parallel 키워드를 이용하게 되며 순차적으로 작성된 기존 코드를 점진적으로 병렬화하기 쉬운 방법이다.
이 방법은 내부적으로 Thread pool을 이용한 fork/join 모델을 사용한다.
* OpenMP 공식 홈페이지 : http://www.openmp.org
'DENNY's Code Story' 카테고리의 다른 글
| 병렬 처리(Parallel Computing)의 필요성 (0) | 2008/07/19 |
|---|---|
| 병렬 처리(Parallel Computing)의 정의 (0) | 2008/07/19 |
| 멀티스레드 프로그램의 구현 방법 (0) | 2008/07/19 |
| 스레딩 모델 (Threading model) 에 대하여.. (0) | 2008/07/19 |
| Windows Live Writer 로 티스토리에 글쓰기 (0) | 2008/07/19 |
| BBC 보도 “마우스 5년안에 사라질 것” - 한겨례 (0) | 2008/07/19 |

