2011-12-15 2 views
2

분산 응용 프로그램의 프로세스가 서로 사이의 상호 작용을 위해 RMI를 사용한다고 가정합니다. 교착 상태는 어떻게 발생합니까? 어떻게 피하는가?어떻게 RMI 데드락이 발생할 수 있습니까?

+2

StackOverflow에서 RMI를 사용한 교착 상태의 예입니다. 해결 방법에 대해서도 설명합니다. http://stackoverflow.com/questions/6829743/java-rmi-deadlock – LaGrandMere

+0

새로운 질문을하기 전에 문제를 검색하십시오. – tuergeist

답변

2

콜백을 사용하면 RMI없이 교착 상태가 아닌 시스템에서 RMI를 통해 교착 상태가 발생할 수 있습니다. 로컬 콜백은 호출 스레드에서 실행됩니다. 그러나 RMI 콜백은 원래 클라이언트 호출 스레드와 다른 스레드에서 실행됩니다. 따라서 클라이언트 측 동기화가있는 경우 호출이 모두 로컬 인 경우 발생하지 않는 교착 상태가 발생할 수 있습니다.

관련 문제