We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
제가 배운 Mutex Lock의 설명은 다음과 같았습니다.
Critical Section에 진입할 때 Mutex Lock을 얻고 나갈 때 릴리즈 하는 방식
acquire()로 Mutex Lock을 얻고, release() 함수로 릴리즈
busy waiting 발생 → 프로세스가 Running에서 계속 기다려야 된다.
Mutex Lock을 얻은 프로세스만 이를 해제할 수 있다.
이 Lock은 Spin Lock 형태인거 같은데 Mutex Lock에서 다른 Lock 방법이 있을까요?
The text was updated successfully, but these errors were encountered:
저도 궁금해서 한번 찾아보았는데요 실제 POSIX 기반의 pthread lock을 거는 방식이 lock이 걸려있으면 system call 을 호출하고, 다시 sleep 상태로 가서 CPU를 내어주는 방식으로 되어 있어요. 즉 spin lock으로 구현되어 있지 않더라고요. https://parthsl.wordpress.com/2019/01/20/pthread-locks-mutex-vs-spilocks-vs-futex/ https://stackoverflow.com/questions/76965112/why-are-pthread-spinlocks-so-much-faster-than-mutexes https://stackoverflow.com/questions/5095781/how-pthread-mutex-lock-is-implemented https://linux.die.net/man/2/futex
제가 생각하기 에는, mutex lock을 구현하는 방법 중에 spin lock으로 구현할 수 있고, 스핀락이 아닌 wait&signal 형태로 구현할 수도 있는 것 같습니다!
Sorry, something went wrong.
감사합니다 Lock에 대해서 더 공부해볼게요
jjiwoning
No branches or pull requests
제가 배운 Mutex Lock의 설명은 다음과 같았습니다.
Critical Section에 진입할 때 Mutex Lock을 얻고 나갈 때 릴리즈 하는 방식
acquire()로 Mutex Lock을 얻고, release() 함수로 릴리즈
busy waiting 발생 → 프로세스가 Running에서 계속 기다려야 된다.
Mutex Lock을 얻은 프로세스만 이를 해제할 수 있다.
이 Lock은 Spin Lock 형태인거 같은데 Mutex Lock에서 다른 Lock 방법이 있을까요?
The text was updated successfully, but these errors were encountered: