regarding how to access the stub, as I said, the choice is yours,
regarding the thread, my knowledge on RMI is dusty, so I hope the flashback diverts to accurate data. Clients will have concurrent access to single server instance so you do not need explicit threading functionality, each thread will be created by the server once a client connection has established, however you need "synchronization" over the shared data or instance "variables" and that is because server provides point-to-point communication to the bounded server object. how you do that is up to yourself, but there are plenty of examples on the web, but once again, that threading is done by the server to allow multiple simultaneous client calls, (if server is configured to do so, which I guess, that is the default configuration)