시스템을 5 초마다 자동으로 실행하는 방법. 이 프레임은 포커스가 아니므로 포커스가있는 JDialog가 될 수 있으므로 프로세스가 실행될 수 있습니까? 감사합니다.스레드에 관한 논리에 관한 질문
답변
스윙 Timer
을 사용하십시오. 액션 리스너를 만들고 액션 리스너를 추가 한 다음 시작하면 액션 리스너가 주기적으로 호출됩니다. 예를 들면 다음과 같습니다.
Timer timer = new Timer(500);
timer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// this runs every 500 milliseconds
}
}
timer.start()
해당 타이머 개체가 UI 업데이트를 EVT로 보내고 있습니까? –
아니요. SwingUtilities.invokeLater'를 사용해야합니다. – tbodt
@tbodt "모든 Timer는 실행되는 첫 번째 Timer 객체에 의해 생성 된 단일 공유 스레드를 사용하여 대기를 수행하지만 타이머에 대한 액션 이벤트 핸들러는 다른 스레드, 즉 이벤트 전달 스레드에서 실행됩니다. 타이머 용 핸들러는 Swing 구성 요소에 대한 작업을 안전하게 수행 할 수 있지만 GUI가 응답을 유지하려면 핸들러가 신속하게 실행되어야 함을 의미합니다. " (http://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html) –
새 스레드를 생성하고 5 초 동안 루프를 만들 수 있습니다.
그러나 복잡한 요구 사항이있는 경우 Quartz (Spring은 하나도 포함)와 같은 스케줄링 라이브러리를 사용해야 할 것입니다. 100 개의 스레드를 생성하고 싶지 않으므로 모두 5 초가 지나야하지만 1 개의 스케줄러 스레드가 여러 개의 작업자 스레드를 트리거하도록하고 싶습니다.
아니요. 작고 집중된 작업에서는 석영을 추가하는 것이 의미가 없습니다. 타이머가 여기에 더 적합합니다 –
@DavidHofmann 그래서 내가 "당신이 더 복잡한 필요가 있다면"이라고 말한 것입니다 :) –
- 1. 목표 C, 스레드에 관한 질문
- 2. IOS에 관한 동영상에 관한 질문
- 3. Java의 스레드에 관한 설명
- 4. 보조 스레드에 관한 내용
- 5. 파이썬에서 스레드에 관한 혼란
- 6. 안드로이드 서비스와 스레드에 관한 혼란
- 7. 자바 메모리 모델에 관한 질문
- 8. 객관적인 질문, xpath에 관한 질문
- 9. 데이터 압축에 관한 질문
- 10. 특성에 관한 질문
- 11. 포인터 계산에 관한 질문
- 12. parcelable 오브젝트에 관한 질문
- 13. 알파 값에 관한 질문
- 14. Quartz.net에 관한 질문
- 15. 유동체 레이아웃에 관한 질문
- 16. scjp enum에 관한 질문
- 17. PHP와 Java에 관한 질문
- 18. 유닉스 코드에 관한 질문?
- 19. mysql_real_escape_string에 관한 질문
- 20. 로드 밸런서에 관한 질문
- 21. Backpropogation 알고리즘에 관한 질문
- 22. 스왑의 성능에 관한 질문
- 23. 상속에 관한 질문
- 24. IOCP에 관한 질문
- 25. Lucene 채점에 관한 질문
- 26. 표시에 관한 UIDatePicker 질문
- 27. MKMapView에 관한 질문 Annotations
- 28. 대상 재활용에 관한 질문
- 29. 검색에 관한 질문
- 30. Ajax에 관한 질문
무엇을 시도 했습니까? 왜 작동하지 않았습니까? Stackoverflow는 당신이 튜토리얼과 같은 지침을 원할 때가 아니라, 좀 더 구체적인 질문이있을 때 가장 잘 작동합니다. –
무엇이 문제가 있습니까? –
시스템이 프레임의 프레임과 함께이 프로세스를 실행할 지 모르겠습니까? 왜냐하면 사용자가 시스템의 다른 프레임을 사용할 때 프로세스를 계속 진행해야하기 때문입니다. – Rafael