What is the difference between a Thread and a Process in the Java context? How is inter-Process communication and inter-Thread communication achieved in Java? Please point m
Inter-Thread Communication = threads inside the same JVM talking to each other
Inter-Process Communication (IPC) = threads inside the same machine but running in different JVMs talking to each other
Threads inside the same JVM can use pipelining through lock-free queues to talk to each other with nanosecond latency.
Threads in different JVMs can use off-heap shared memory (usually acquired through the same memory-mapped file) to talk to each other with nanosecond latency.
Threads in different machines can use the network to talk to each other with microsecond latency.
For a complete explanation about lock-free queues and IPC you can check CoralQueue.
Disclaimer: I am one of the developers of CoralQueue.