Imagine being able to call
wait() on a Java object in one JVM, and imagine that later a thread in another JVM on another computer calls
notify() on that same object and that
notify() call penetrates the impermeable process boundary between the two JVMs to wake your thread from its slumber. Further imagine that all of the changes to that object made in the other JVM while you were waiting are now visible to your thread. Imagine now that the code you wrote to make this happen looked no different than code you would have written were this program to run only on a single JVM—no concessions to special frameworks, no callouts to special APIs, no stubs, no skeletons, no copies, no put-backs, and no magic beans.
What would it be like if you ...