У меня есть два потока выполнения (скажем, Thread1 и Thread2). Thread2 прослушивает определенное событие, и при возникновении события он хочет остановить выполнение Thread1 и инициировать действие. После выполнения действия ему необходимо продолжить выполнение Thread1 с того места, где оно было остановлено.
Какой подход мне следует предпринять для этого в Java?