l'unico modo per usare processi sotto java è estendere thread e ridichiarare il metodo run() che viene avviato automaticamente quando fai nomeOggetto.start() per avviare il processo...
su come comunicare tra processi non saprei dirti molto, nel corso universitario che sto seguendo abbiamo fatto un po' di programmazione concorrente con notify, notifyall, sleep e compagnia, non abbiamo ancora visto protocolli interni per il dialogo delle parti avviate...
ah, ricordati che se vuoi evitare scritture/letture concorrenti devi dichiarare come synchronized gli eventuali getters and setters....