뮤텍스2 커널에서 condition race 제거 [블로그 통합으로 이전해 온 자료] - 2008. 4. 24. 17:40 * semaphore/mutex * semaphore 변수를 이용해 프로세스의 임계영역 접근을 제어한다. 임계영역에 들어가기 전에 down_*() 함수를 사용해서 semaphore를 잡고 임계영역이 끝나면 up() 함수로 semaphore를 풀어준다. void sema_init( struct semaphore *sem, int val ); DECLARE_MUTEX( name ); DECLARE_MUTEX_LOCKED( name ); void init_MUTEX( struct semaphore *sem ); void init_MUTEX_LOCKED( struct semaphore *sem ); void down( struct sema.. 2021. 2. 8. 오랜만에 C++ - 스레드 동기화(뮤텍스, 조건변수) * 뮤텍스 std::mutex mtx; mtx.lock(); mtx.unlock(); std::mutex mtx; std::lock_guard lg(mtx) std::recursive_mutex mtx; void ThreadFunc(int nID, int& nVal) { for (int i = 0; i < 5; ++i) { std::lock_guard lg(mtx); std::cout 2017. 9. 13. 이전 1 다음