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
No description provided.
The text was updated successfully, but these errors were encountered:
이식성이 좋은 프로그램
실행 가능한 스레드의 평균적인 수를 프로세서 수보다 지나치게 많아지지 않도록 하는 것
실행 중인 (혹은 가능한) 스레드 수 = 전체 스레드 - 대기중인 스레드 수
Busy Waiting OS에서 원하는 자원을 얻기 위해 기다리는 것이 아닌 권한을 얻을 때 까지 확인하는 것을 의미한다 CPU의 자원을 쓸 데 없이 낭비하므로 좋지 않은 스레드 동기화 방식이다 공유 객체의 상태가 바뀔 때까지 쉬지 않고 검사해서는 안된다 스레드 스케줄러의 변덕에 취약하고 프로세서에 큰 부담을 주어 다른 작업이 실행될 기회를 박탈한다
Busy Waiting
public class SlowCountDownLatch { private int count; public SlowCountDownLatch(int count) { if (count < 0) throw new IllegalArgumentException(count + " < 0"); this.count = count; } public void await() { // 상태를 지속적으로 검사 while (true) { synchronized(this) { if (count == 0) return; } } } public synchronized void countDown() { if (count != 0) count--; } }
await
Thread.yield
yield
Sorry, something went wrong.
yeGenieee
No branches or pull requests
No description provided.
The text was updated successfully, but these errors were encountered: