본문 바로가기

프로그래밍22

멀티쓰레드 프로그래밍시 문제발생 시나리오 멀티 쓰레드 프로그래밍을 할때는 동작중인 모든 쓰레드가 동시에 돌아가고 있기 때문에 같은 데이터를 접근하는 쓰레드들은 철저하게 주의를 기울여야 합니다. 보통 같은 데이터 , 메모리 접근을 차단하기위해 싱크 오브젝트들을 사용하는데는 다음은 CriticalSection 사용중 발생한 문제점의 한 예 입니다. 실제 우리 회사 LogManager 프로젝트의 소스 코드입니다. 아래는 GUI Main 쓰레드에서 CopyData 메시지를 받아서 m_pTemp라는 StringList에서 로그 데이터를 추가하는 루틴입니다. GUI 쓰레드에서 메시지를 받아 로그 데이터를 추가하고 별도의 태스크 쓰레드에서 List에 있는 로그 데이터를 데이터베이스(Firebird)에 INSERT 하는 구조로 되어있습니다. //-------.. 2009. 10. 21.
C소스의 전체 컴파일 과정 C소스의 전체 컴파일 과정 http://cafe.naver.com/devctrl/824 위에 링크된글은 리눅스 기반의 gcc 컴파일러를 기준으로 설명 했지만 C++빌더나 Visual C++이나 전처리,컴파일, 링크의 원리는 동일합니다. C언어를 공부하면서 헤더의 원리나 오브젝트 파일이 왜 생기는지 등의 기본 지식이 부족할 경우 근본적인 문제가 생겼을때 잘 이해를 못하는 경우가 있습니다. 위에 링크된 글을 한번 읽고 이해해 두면 C++빌더가 내부적으로 어떻게 컴파일 해서 실행파일을 만들어내는지도 쉽게 이해할 수 있을 것입니다. 2009. 10. 15.
스레드 종료(TerminateThread API)에 대해서... ] 갱주니 블로그(AiWisdom) | 갱주니 http://blog.naver.com/process3/20021429196 TerminateThread The TerminateThread function terminates a thread. (TerminateThread 함수는 스레드를 종료(정지)시키는 함수이다.) BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode ); Parameters hThread [in, out] Handle to the thread to terminate. The handle must have the THREAD_TERMINATE access right. For more information, see Thread Security an.. 2009. 10. 9.
객체지향 설계의 원칙 SOLID 이제는 디자인패턴이나 객체지향원칙 이론들을 좀더  열심히 봐야할때도 된것 같다[ 써니님의 블로그 글 ]OOP - SOLID 원칙과 원리를 학습하는 자세 (http://sunnykwak.egloos.com/4419599 )아래 링크는 써니님의 블로그 내용에 있는 관련 링크이다. 바로가기 쉽도록 여기에도 연결하였다. 객체지향 SW 설계의 원칙( http://naiades.tistory.com/69 )개발자의 초식, 디자인 패턴「그러나…」SRP(Single Responsibility Principle) : 단일 책임의 원칙http://www.zdnet.co.kr/builder/dev/modeling/0,39031637,39135552,00.htmOCP(Open-Closed Principle) : 개방.. 2009. 10. 9.
C언어 연산자 우선순위 C언어 연산자 우선 순위에 관한 자료가 있어 가져왔다. 언어를 배우는데 가장 기초적인 부분이기는 하지만 또한 가끔 실수가 있는 부분이라서 여기서 문제가 생길경우에 많은 시간을 허비하게 되는 경우가 많다. 실력을 키우려면 기초부터 튼튼하게 다지자! This page lists C operators in order of precedence (highest to lowest). Their associativity indicates in what order operators of equal precedence in an expression are applied. Operator Description Associativity () [] . -> ++ -- Parentheses (function call) (see.. 2009. 10. 1.