Java Virtual Threads Vs Asynchronous Communication