Bir olay başka bir iş parçacığı katıldı kadar bir iş parçacığı Sleep

oy
25

Ben bir Android uygulamasında iki konuları var, bir görünüm iplik ve diğer çalışan iş parçacığı olduğunu. görünüm parçacığı onDraw yönteminin kullanımını sonlandırır kadar olan Ne yapmak istiyorum, işçi iş parçacığı uyku.

Bu nasıl yapabilirim? sinyal veya bir şey için herhangi bir bekleme var mı?

Oluştur 23/09/2008 saat 16:32
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
34

Tek amacı onun çalışmalarını devam edebilir zaman iş parçacığı bildirmektir iki dişleri arasındaki bir java.lang.Object paylaşın. çalışan iş parçacığı uyku gereken bir noktaya ulaştığında, bu yapar:

stick.wait();

görünüm parçacığı onun onDraw çalışmalarını bitirdiğinde, bu çağırır:

stick.notify();

görünüm parçacığı nesne üzerinde monitörüne sahiptir gereksinimi unutmayın. Senin durumunda bu küçük senkronizasyon bloğu ile uygulamak oldukça basit olmalıdır:

void onDraw() {
  ...
  synchronized (stick) {
    stick.notify();
  }
} // end onDraw()

(Her ihtimale karşı ve notifyAll) Bu yöntemler hakkında java.lang.Object için javadoc danışın; onlar çok iyi yazılmış ediyoruz.

Cevap 23/09/2008 saat 16:45
kaynak kullanıcı

oy
2

Eğer (Engelsiz gibi şeyler) daha yüksek seviyeli concurreny API istiyorsanız, java 1.3 ve üzeri çalışır java 5 eşzamanlılık API, backport deneyebilirsiniz, ve Android'de çalışabilir. bildirmek / Object.wait gibiler çalışacaktır, ama biraz veciz olabilir.

Backport-util-eşzamanlı

Cevap 23/09/2008 saat 17:54
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more