다른 게시물을 읽었지만 정확한 답변을 찾지 못해 누군가가 약간의 설명을 줄 수 있기를 바랍니다.자바 웨이크 슬리핑 스레드
나는 얼마 동안 실행할 프로그램이 있습니다. 나는 여러 가지 작업을 수행하는 뒷 배경에서 실행되는 일부 스레드를 가지고 있으며, 스레드를 3 가지 생각할 수 있도록 간단하게 유지합니다. ThreadA
은 매 10 초마다 작업을 수행합니다. ThreadB
은 30 초마다 작업을 수행하고 ThreadC
은 5 분마다 작업을 수행합니다.
나는 바쁜 대기를 사용하지 않고 지정된 시간 동안 스레드를 잠자기 상태로 만듭니다.
제 질문은 완전히 종료 된 것입니다. 변수마다 스레드마다 읽기 액세스 권한이 있으므로 사용자가 프로그램 종료를 알 수 있습니다. 다음에 쓰레드가 활성화 될 때, 그들은 루프를 빠져 나와 결합하고 모두 좋다. ThreadC는 매 5 분마다 깨어납니다.
내가 가진 질문은 잠자기 시간이 끝나기 전에 잠자기 시간에 일어나 깨어나서 신호 할 수 있습니까? 이것이 가능하지 않다면 wait()
과 notify()
을 사용하도록 코드를 재 작성해야합니까, 아니면 더 좋은 방법이 있습니까?