thread 3

[VC++]쓰레드 사용시 메모리 릭 발생 및 해결방법

- 원인 : 윈도우가 종료된 후에도 쓰레드가 계속 작동하려는 데 있음- 증상 : IMS를 종료할 때 메모리 릭이 발생함- 해결방안:    - 방법1: 쓰레드함수를 클래스내로 이동시키고 WM_DESTROY 메세지 발생시 쓰레드를 종료할 수 있게 함    - 방법2: while()문 계속 진행여부를 체크할 수 있는 변수를 주고 WM_DESTROY 메세지 발생시 그 변수를 false로 설정함    - 방법3: WM_DESTROY 메세지 발생시 WaitForSingleObject() 를 사용하여 체크하고 쓰레드가 종료되지 않았으면 GetExitCodeThread()와 TerminateThread() 를 사용하여 강제종료시킴

기본카테고리 2014.01.25

[Linux] Thread

Thread에 대해서 ¶프로그램을 병렬로 실행시키는 방법으로 fork()에 대해서 알아보았다. fork()는 매우 이해하기 쉬운 프로그래밍 방법이긴 하지만 자원효율성에서 몇가지 문제점을 가지고 있다. 프로세스는 기본적으로 code, data, stack, file I/O, 그리고 signal table의 5가지 요소로 구성이 된다. fork()를 이용해서 새로운 프로세스를 생성하게 되면, 이러한 5가지 구성요소가 모두 복사가 된다. 그러하다 보니 프로세스를 생성하는데 많은 비용이 소비될 것이다. 대게의 경우에는 프로세스를 새로 생성시킬때 발생하는 성능저하가 문제가 되지는 않겠지만 웹서비스처럼 대량의 접근이 발생하는 영역에서는 문제가 될 수 있다.fork의 이러한 방식은 상당히 효율이 떨어지는 측면이 있다..

기본카테고리 2013.07.11