Aşağıdaki kod , programda yöntemi ikinci kezjava.lang.IllegalThreadStateException: Thread already started
çağırdığımda yol açar .start()
updateUI.join();
if (!updateUI.isAlive())
updateUI.start();
Bu ikinci kez updateUI.start()
çağrıldığında olur. Birden çok kez adım attım ve iş parçacığı çağrıldı ve vurmadan önce tamamen tamamlandı updateUI.start()
.
Çağrı updateUI.run()
, hatayı önler, ancak iş parçacığının UI iş parçacığında (SO'daki diğer gönderilerde belirtildiği gibi çağıran iş parçacığı) çalışmasına neden olur, bu da istediğim şey değil.
İş Parçacığı yalnızca bir kez başlatılabilir mi? Eğer öyleyse, iş parçacığını yeniden çalıştırmak istersem ne yapmalıyım? Bu özel iş parçacığı arka planda bazı hesaplamalar yapıyor, eğer bunu UI iş parçacığında yapılandan daha iş parçacığında yapmazsam ve kullanıcı mantıksız bir şekilde uzun süre beklemişse.