Недавно мне нужно было использовать RMI, и я достаточно знаю, что мне нужно делать, но меня удивляет одна вещь, когда я пересматриваю эту тему. Возможно ли сделать асинхронные вызовы RMI той же службе на сервере?Асинхронный Java RMI
Предположим, у меня есть n потоков на клиенте и один объект на стороне сервера - назовите его S. S имеет единственный метод, который я хочу вызвать из своих потоков на стороне клиента, но я не хочу его блокировать, поскольку у него нет общего ресурса, о котором можно беспокоиться.
Любые идеи? Или это то, что лучше всего оставить другим методам?
ли вы на самом деле видели RMI блокировки при вызове тот же метод из нескольких клиентских потоков? Потому что я не знаю, что это часть спецификации; вы должны увидеть такое же поведение, как вызов локального метода из нескольких потоков. Конечно, в зависимости от того, как расписание выполняет потоки, оно может * появляться * блокировать ... – kdgregory
проблем нет. чтобы сделать это асинхронно, а не блокировать поток клиентов, вам нужно организовать вызов в другом потоке и проигнорировать возврат. Или используйте одну из этих «альтернатив» с малым весом, которая поддерживает асинхронный вызов изначально. – irreputable
My LipeRMI fork поддерживает асинхронный RMI. https://github.com/terraframe/lipermi – Ring