runnable을 포함하는 스레드가 있습니다. 사용자가 취소하지 않으면 무한 루프가 필요합니다. 나는 이것에 대해 어떻게 생각하는지 모른다. 모든 도움은 대단히 감사하겠습니다. 건배.어떻게 스레드를 반복합니까?
4
A
답변
9
사용자가 취소하지 않으면 무한 루프가 필요합니다. 분명히
당신은 쉽게 내부 사용자의 run()
방법의 루프를 추가 할 수 있습니다
new Thread(new Runnable() {
public void run() {
// loop until the thread is interrupted
while (!Thread.currentThread().isInterrupted()) {
// do something in the loop
}
}
}).start();
당신이 방법에 대해 요구하는 경우
new Thread(new Runnable() {
public void run() {
while (true) {
// do something in the loop
}
}
}).start();
그것은 스레드 중단을 확인하는 것이 좋은 생각 다른 스레드 (예 : UI 스레드)에서 스레드 작업을 취소 할 수 있습니다. 다음과 같이 할 수 있습니다.
private final volatile running = true;
...
new Thread(new Runnable() {
public void run() {
while (running) {
// do something in the loop
}
}
}).start();
...
// later, in another thread, you can shut it down by setting running to false
running = false;
volatile boolean
을 사용해야 하나의 스레드에서 필드 변경 내용이 다른 스레드에서 볼 수 있습니다.
관련 문제
- 1. 어떻게 뷰 ID를 반복합니까?
- 2. 다차원 배열을 어떻게 반복합니까?
- 3. 어떻게 스레드가 내용을 실행하고 일시 정지하고 반복합니까?
- 4. 어떻게 Flex에서 결과 개체를 반복합니까?
- 5. 어떻게 서로 다른 iframe을 반복합니까?
- 6. 지킬 게시물의 태그를 어떻게 반복합니까?
- 7. 어떻게 자바 스크립트에서 XML 노드를 반복합니까?
- 8. 특정 번호를 찾을 때까지 어떻게 열을 반복합니까?
- 9. 어떻게 자바 스크립트로 여러 번 프로세스를 반복합니까
- 10. 파이썬에서 어떻게 역순으로 문자열 집합을 반복합니까?
- 11. vim에서 "윈도우 크기 조정"명령을 어떻게 반복합니까?
- 12. python을 사용하여받은 편지함의 각 이메일을 어떻게 반복합니까?
- 13. 2 개의 Enumerable을 효율적으로 통합하여 어떻게 반복합니까?
- 14. ColdFusion에서 동일한 이름의 확인란 그룹을 어떻게 반복합니까?
- 15. 어떻게 테이블/RadListView x 번 반복합니까?
- 16. Haml javascript 태그에서 루비 변수를 어떻게 반복합니까?
- 17. 특정 태그 안의 각 태그를 어떻게 반복합니까?
- 18. WinForms의 CheckedListBox를 반복합니까?
- 19. 어떻게 모든 동적으로 생성 된 라디오 버튼을 반복합니까? 어떻게 식별합니까?
- 20. 어떻게 펄 스레드를 죽입니까?
- 21. 스레드를 어떻게 추가합니까?
- 22. 디스패처가 스레드를 어떻게 처리합니까?
- 23. 어떻게 스레드를 종료합니까?
- 24. Twisted에서 스레드를 어떻게 중단합니까?
- 25. 필드 자체를 반복합니까?
- 26. 어떻게이 애니메이션을 무기한 반복합니까?
- 27. 정규 표현식의 섹션을 반복합니까?
- 28. Wordpress home.php가 콘텐츠를 반복합니까?
- 29. 내 서버에 스레드를 어떻게 추가합니까?
- 30. C++ 11에서 스레드를 어떻게 종료합니까?
루프를 실행하기 만하면됩니다. 하지만 아마도 스레드가 주 스레드의 명령/작업 항목을 처리하기를 원할 것입니다. 그리고 쉴 때 자지? 말하면 그만둬? –