본문 바로가기

pthread

OpenMP : 빠르고 간단한 멀티스레딩 프로그래밍 병렬 프로그래밍은 동시에 수행되는 여러 개의 프로세스와 스레드들을 안전하고 효율적으로 다루는 문제라고 할 수 있다. 프로세스는 독립적인 메모리 공간을 가지고 있기 때문에, 이들이 공유 메모리를 통한 자료 교환을 하지 않는다면, 동기화 문제는 상대적으로 간단한 것이 된다. 그러나, 스레드는 한 프로세스 내에서 실행되며, 스레드는 같은 메모리 공간을 공유하기 때문에 스레드들의 자원 사용 문제는 훨씬 복잡하다. 이러한 문제를 해결한 좋은 라이브러리나 운영체제 차원에서의 지원이 이미 일반화되어 있지만, 멀티스레딩 프로그래밍은 API 몇 개만 호출하는 것으로 간단히 구현되는 것은 아니다. 더구나, 스레드는 성능 문제 때문에 각 플랫폼에서 제공하는 스레드 라이브러리를 사용하기 마련이고, 이들의 서로 다른 스레드 정.. 더보기
MinGW : gcc 4.4.0 Release! 오랫동안 기다려왔던 gcc 버전 4를 포함하는 MinGW가 릴리즈되었다. MinGW의 가치는 굳이 말을 하지 않아도 모두 알고 있을 것이다. 지구상에서 가장 널리 퍼진 크로스 컴파일러인 gcc의 윈도우 포트라는 것, 그리고 표준을 잘 준수하는 편에 속하는 좋은 컴파일러라는 점 말이다. 더구나, 무상으로 다양한 언어의 컴파일러와 그 소스까지 제공되니, 진정으로 GNU는 가난한 개발자들에게 신이 내린 선물이 아닐 수 없다. 하지만, 특히 MinGW의 가치는 이게 전부가 아니다. cygwin과 별도로, 정말 필요한 패키지가 있을 때 최소의 수정만으로도 포트를 할 수 있도록 도와주는 툴이기도 하다. 물론, 소스를 수정하지 않고 make를 두들겨서 바이너리를 얻을 수 있는 경우는 극히 드물지만, 경우에 따라서는 .. 더보기