쓰레드1 쓰레드(Thread)간의 동기화(Synchronization) 멀티 태스킹을 말할때 피할수 없는것이 동기화(Synchronization)문제이다. 동기화란 멀티 태스킹 환경에서 여러개의 처리(태스크)를 서로의 진행상태에 맞추어 진행시키는것을 말한다. 문제점 코드 (플래그를 사용한 배타적 제어 코드) bool InUse = false; int func(void) { .... while(InUse) { } InUse = true; // 다른곳에서 접근 금지 File * fp = fopen("sample.dat", "wb"); if(fp != NULL) { ...... fclose(fp); } InUse = false; // 다른곳에서 접근 허용 } 이 코드의 문제점은 첫째, InUse가 false인것을 확인하는 조작가 true로 조작 하는 사이에 비록 짧지만 시간간격이.. 2009. 1. 30. 이전 1 다음