Go offers both unbuffered and buffered channels for communication among goroutines (threads). It is straightforward to implement buffered channels as bounded buffers in Java.
Go's unbuffered channels require one goroutine to be sending when the other goroutine is receiving. Can anyone explain to me how to implement that in Java?