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
정확성이나 성능이 스레드 스케줄러에 따라 달라지는 프로그램이라면 다른 플랫폼에 이식하기 어렵다
스레드는 당장 처리해야 할 작업이 없다면 실행돼서는 안 된다.
ex) 피해야 될 극단적인 코드
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--; } }
가장 나쁜 특성
절대
고치는 용도
The text was updated successfully, but these errors were encountered:
kmswlee
No branches or pull requests
프로그램의 동작을 스레드 스케줄러에 기대하지 마라
정확성이나 성능이 스레드 스케줄러에 따라 달라지는 프로그램이라면 다른 플랫폼에 이식하기 어렵다
실행 가능한 스레드 수를 적게 유지하는 주요 기법
스레드는 당장 처리해야 할 작업이 없다면 실행돼서는 안 된다.
ex) 피해야 될 극단적인 코드
Thread.yield를 써서 문제를 고쳐보려는 유혹을 떨쳐내자
가장 나쁜 특성
에 속한다.절대
합리적이지 않다.핵심 정리
고치는 용도
로 사용해서는 절대 안 된다.The text was updated successfully, but these errors were encountered: