lucky3270   2년 전

preview

이 문제 풀어보려고 하는데 잘 모르겠습니다

bupjae   2년 전

이 문제의 의도를 잘 모르겠습니다.

   

억지로 해석해 보자면 "스레드 2개를 만들고 우선순위 설정 기능을 이용하여 출력 결과가 *항상* 주어지는 대로 나오는 프로그램을 작성하시오" 정도일 것 같은데,

우선순위 기능만으로는 출력 결과를 보장할 수 없습니다.

(스레드 스케쥴러는 우선 순위가 높은 스레드를 더 자주 선택하려고 하겠지만, 항상 그렇게 되리라고 보장할 수 없습니다)

   

직접 스레드의 우선순위만을 이용해서 프로그램을 작성해 봤는데, 5회 중 3번 정도만 출력 결과가 정확히 일치했습니다.

   

실행 순서를 정하고 싶으면 lock 이나 semaphore, monitor 같은 제대로 된 스레드 동기화 방법을 사용해야 합니다.

댓글을 작성하려면 로그인해야 합니다.