Saya membuat aplikasi Java dengan aplikasi-logika-utas dan basis-akses-utas. Keduanya bertahan selama masa aplikasi dan keduanya harus berjalan pada saat yang sama (satu berbicara ke server, satu berbicara dengan pengguna; ketika aplikasi sepenuhnya dimulai, saya perlu keduanya untuk bekerja).
Namun, saat startup, saya perlu memastikan bahwa awalnya utas aplikasi menunggu hingga utas db siap (saat ini ditentukan dengan polling metode khusus dbthread.isReady()
). Saya tidak keberatan jika aplikasi thread memblokir sampai thread db siap.
Thread.join()
tidak terlihat seperti solusi - utas db hanya keluar saat aplikasi ditutup.
while (!dbthread.isReady()) {}
jenis bekerja, tetapi loop kosong mengkonsumsi banyak siklus prosesor.
Ada ide lain? Terima kasih.