작업을 하다보니 본래의 취지와 다르게 진행되어 가네요.
시작할때는 메신저 프로젝트 였는데.. 어느새 대용량 서버 라이브러리 형태로 바뀌어 버렸습니다.
메신저는 작업한 라이브러리를 활용해서 만들고요.
이틀동안 인디 소켓에 TThread 상속받아서 작업하던거 과감하게 삭제하고 자체제작으로 방향을 바꾸었습니다.
빌더 뿐만아니라 VC에서도 컴파일이 될수있도록 하겠다는 계획입니다.
VCL을 쓰지 않겠다고 생각하니 해야 할 일들이 많이 늘어났네요.
2개의 라이브러리가 프로젝트에 추가되었습니다.
wine_lock.lib // critical section을 이용한 접근제한
wine_thread.lib // thread library
두개의 라이브러리를 활용해서 간단한 테스트를 한 스샷을 첨부했습니다.
2개의 쓰레드를 생성해서 하나의 쓰레드는 루프를 돌면서 변수를 1증가시키고
다른 쓰레드는 루프를 돌면서 변수를 1감소시켰습니다.
초기 변수값이 12345인데 최종 결과값이 12345가 되면서 테스트를 성공하였습니다.
당연한 이야기지만 wine_lock.lib를 쓰지 않으면 초기값과 결과값이 달랐습니다.
|