목차
메모리에 대한 경쟁상태
대기 함수
Win32’s Critical Section
Win32’s Mutex
보고서
본문내용
대기 함수
스레드의 실행을 블록하거나 실행을 허가하는 함수임
신호상태 : 스레드의 실행을 허가하는 상태
비신호상태 : 스레드의 실행을 허가하지 않는 상태. 신호상태가 될 때까지 스레드는 블록됨
동기화 객체에 따라 대기 함수를 린터할 때 신호상태가 변함
예) Mutex의 경우 리턴할 때 비신호 상태로 전환
예
WaitForSingleObject
WaitForMutilpeObject
Win32’s Mutex
Kernel Object를 생성함으로 프로세스간 동기화에 사용할 수 있음
Critical Section 보다 느림
보고서
*아래 TestAndSet함수를 이용해 Critical Section을 구현하시오
inline int TestAndSet(int* pTargetAddress, int nValue)
{
__asm
{
mov edx, dword ptr [pTargetAddress]
mov eax, nValue
lock xchg eax, dword ptr [edx]
}
}
Int main()
{
int m = 1;
int prev_ret;
prev_ret = TestEndSet( &m, 0 );
참고 자료
없음