P2P 아키텍처의 멀티 플레이어 카드 게임을 개발 중입니다. 내 결정이 아닙니다.이 프로젝트는 내 대학의 분산 시스템 코스 교수가 위임했습니다.Java RMI : 동시성 지원
교수가 부과하는 또 다른 제한 조건은 Java RMI 기술을 사용하여 플레이어 간의 통신 레이어를 구현하는 것입니다.
Java RMI가 동시성을 "즉시"관리하는지, 즉 원격 객체에서 메소드를 호출 할 때 객체가 자동으로 "잠겨"있고 객체가 동시에 호출 할 수 있는지 알 수 있습니다. 같은 방법.
동기화 된 메소드를 좋은 해결책으로 선언 할 수 있습니까?
감사합니다.
RMI 공급자에 따라 다름 ...하지만 기본값은 멀티 스레드이므로 동일한 메소드를 동시에 호출 할 수 있습니다. 즉, 나는 맹목적으로 방법을 동기화하는 것은 어리석은 일이라고 생각합니다. 보호되어야하는 것은 * 객체 *와 * 사용법입니다. –
단일 스레드 된 RMI 공급자가 없다고 주장합니다. RMI 사양은 기본적으로 단일 스레드라고 가정 할 수 없으므로 스스로 동기화해야합니다. 또한 실제로 RMI 제공자 인 RMI가 SPI 아키텍처를 가지고 있지 않다는 것을 주장한다. 전체 JDK의 구현 만있다. – EJP