본문 바로가기

쓰레드2

Windows 와 Linux Thread Control 함수 비교 (동기화 함수) Preface Windows 프로그램을 리눅스로 포팅을 할때 가장 문제가 되는 것은 프로세스 쓰레드 관련 함수와 각종 IPC들이다. 소켓이나 기본적인 함수들은 모두 같이 사용이 되거나 용례가 비슷한데 반해서 이들은 완전히 독립적으로 동작이 되기 때문에 설계 자체를 바꿔야 하는 경우도 있다. 이를 좀더 쉽게 하기 위해서 각각에 대해서 어떻게 포팅을 해야 하는지를 정리해 보았다. Process & Thread Windows와 Linux가 process와 thread에 관련된 내부적 구조체 및 동작 방식은 완전히 다르다. 하지만, 이들을 조작하는 함수에는 거의 차이가 없다. 함수에 따라 거의 1:1로 변환이 가능하다. Windows Linux CreateProcess() fork() exec() Termina.. 2010. 10. 27.
쓰레드 - Thread - 귀가 닳도록 들어온 워커스레드와 UI스레드. 그리고 스레드와 관련된 숱한 의혹과 혼란은 간혹 프로그래밍 할 맛을 뚝 떨어뜨리기도 한다. 그러나 세상에 좋은걸 쉽게 얻을수 있는게 어디 있으랴. 보다 좋은 성능에 보다 매끄러운 결과물을 만들기 위해서는 피해갈수 없는 길이 스레드다. 그만큼 잘 쓰면 프로그램을 빛나게 하지만 잘못쓰면 그냥 망한다. 그리고 알아야 할것이 한두가지가 아니다. 이렇게 복합적인 지식을 요구하기 때문에 스레드가 어렵게 느껴질수 있다. 적어도 멀티스레드로 들어가기 시작하면... 그래서 기초책에서 설명하는 그렇고 그런 진부한 내용은 다 집어치우고, 또 잘 설명해 주지도 않는 UI 스레드도 제대로 알아볼겸 MFC에서 스레드가 어떻게 동작하는지 MFC 소스코드를 살펴보고 멀.. 2010. 10. 27.