멀티쓰레드1 멀티쓰레드 프로그래밍시 문제발생 시나리오 멀티 쓰레드 프로그래밍을 할때는 동작중인 모든 쓰레드가 동시에 돌아가고 있기 때문에 같은 데이터를 접근하는 쓰레드들은 철저하게 주의를 기울여야 합니다. 보통 같은 데이터 , 메모리 접근을 차단하기위해 싱크 오브젝트들을 사용하는데는 다음은 CriticalSection 사용중 발생한 문제점의 한 예 입니다. 실제 우리 회사 LogManager 프로젝트의 소스 코드입니다. 아래는 GUI Main 쓰레드에서 CopyData 메시지를 받아서 m_pTemp라는 StringList에서 로그 데이터를 추가하는 루틴입니다. GUI 쓰레드에서 메시지를 받아 로그 데이터를 추가하고 별도의 태스크 쓰레드에서 List에 있는 로그 데이터를 데이터베이스(Firebird)에 INSERT 하는 구조로 되어있습니다. //-------.. 2009. 10. 21. 이전 1 다음