isWaiting() 메소드가 없다는 것을 알았습니다. 특정 객체에서 wait()가 차단 된 스레드가 있는지 여부를 테스트 할 수 있습니까? Thread 객체가 주어진다면 Thread가 기다리는 객체 (있는 경우)를 찾을 수 있습니까?다른 스레드가 wait() ing인지 확인하는 방법은 무엇입니까?
0
A
답변
6
대기 상태의 경우 thread.getState() == Thread.State.WAITING || thread.getState() == TIMED_WAITING
을 시도하십시오.
스레드가 기다리는 개체에 대해서는 확실하지 않지만 스레드가 원시 코드없이 기다리고있는 개체를 얻을 수 있을지는 의문입니다. 그 반대편 (즉, 주어진 객체에 락을 가지고있는 쓰레드를 얻는 것)은 순수 자바에서도 불가능한 것처럼 보입니다 (여기를 참조하십시오 : Programmatically determine which Java thread holds a lock).
0
기본적인 동시 처리 방법으로는 충분하지 않을 수 있습니다. java.util.concurrent 패키지를 사용해보십시오. 문제를 해결할 수있는 예제 클래스 중 하나는 ReentrantLock입니다. 다음은 스레드상의 완전한 tutorial입니다.
관련 문제
- 1. 스레드가 wait()에서 자발적으로 깨어있는 이유는 무엇입니까?
- 2. 스레드가 대기 상태인지 확인하는 방법은 무엇입니까?
- 3. iPhone : 스레드가 주 스레드인지 확인하는 방법은 무엇입니까?
- 4. 스레드가 이벤트를 기다리고 있는지 확인하는 방법은 무엇입니까?
- 5. 스레드가 wait() 및 notify() 다음에 메시지를 잃습니다.
- 6. 스레드 동시성 wait() 다른 스레드가 끝내고 작업을 계속합니다.
- 7. wait()/wait (timeout)/sleep (timeout)?
- 8. 스레드가 Java에서 특정 시간에 실행중인 작업을 확인하는 방법은 무엇입니까?
- 9. wait() 및 join()을 모두 실행하여 실행 스레드가 "대기"상태가됩니까?
- 10. 스레드가 내부를 통과하지 않은 경우에도 wait()가 호출됩니다.
- 11. Win32 스레드가 C++에서 Wait, Join 또는 Sleep 상태에 있음을 확인하는 방법
- 12. 다른 스레드가 CUDA에서 다른 부분을 실행하도록 만드는 방법은 무엇입니까?
- 13. wait-notify와 CountDownLatch의 차이점
- 14. head.ready() 및 $ (document) .ready(), Wait For Wait
- 15. 내 C++ 응용 프로그램에서 스레드가 생성되는 이유와 그 스레드가 수행하는 작업을 확인하는 가장 좋은 방법은 무엇입니까?
- 16. 스레드가 뮤텍스를 보유하고 있는지 확인하는 방법 C++
- 17. 스레드가 실행 완료되었는지 확인하는 방법
- 18. 스레드가 중단되었거나 완료되었는지 확인하는 방법
- 19. 스레드에서 명령이 Java에서 성공적으로 시작되었고 다른 스레드가 시작될 수 있는지 확인하는 방법은 무엇입니까?
- 20. 스레드가 다른 스레드에 의해 수정 된 가장 최근의 변수를 얻는 지 확인하는 방법은 무엇입니까?
- 21. 다른 스레드에서 생성 된 스레드를 확인하는 방법은 무엇입니까?
- 22. 행이 mysql에서 반환되었는지 확인하는 다른 방법은 무엇입니까?
- 23. 다른 클래스의 변수가 업데이트되었는지 확인하는 방법은 무엇입니까?
- 24. xcode에서 실행중인 다른 앱을 확인하는 방법은 무엇입니까?
- 25. 소켓의 다른 끝이 수락되었는지 확인하는 방법은 무엇입니까?
- 26. Python : 다른 스레드가 메시지를 확인하는 동안 원시 입력 허용
- 27. 스레드가 서로 통신하는 방법은 무엇입니까?
- 28. 한 스레드가 다른 스레드가 충돌했는지 어떻게 판단 할 수 있습니까?
- 29. 스레드가 멈춰서 다른 스레드가 멈추는 경우
- 30. 다른 스레드가 소유 한 파일을 표시하는 방법은 무엇입니까?
이 잠금에는 getOwner() 메소드가 포함되어 있기 때문에 질문에 답할 수있는 것 같아요. – Qwertie