Remote Procedure Call (RPC) allows a client to call a procedure in a remote server. A call creates a new thread on the server to service the request. The client blocks until the call is serviced. Java Remote Method Invocation (RMI) uses a similar approach, with server objects registered with a registry and clients obtaining proxy objects to invoke remote methods. Both use serialization to pass arguments between different address spaces. RPC introduces issues like partial failures and reduced performance compared to local calls due to network delays and concurrency.