В Android легче общаться между потоками с помощью фреймворков Handler / Looper. Есть ли в Java схожие механизмы взаимодействия между потоками?
Вы можете сделать это, реализовав шаблон producer-Consumer с использованием методов wait() и notify() в Java. Здесь является примером.
producer-Consumer
wait()
notify()