Geben Sie ein java.lang.Object zwischen den beiden Threads frei, dessen einziger Zweck darin besteht, dem Worker-Thread mitzuteilen, wann er seine Arbeit fortsetzen kann. Jedes Mal, wenn der Arbeiter-Thread einen Punkt erreicht, wo er schlafen soll, tut es dies:
stick.wait();
Wenn die Ansicht Thread seine OnDraw Arbeit beendet hat, ruft sie dies:
stick.notify();
Beachten Sie die Anforderung, dass die Ansicht Faden besitzt den Monitor für das Objekt. In Ihrem Fall, sollte dies recht einfach mit einem kleinen Sync-Block zu erzwingen:
void onDraw() {
...
synchronized (stick) {
stick.notify();
}
} // end onDraw()
Consult die javadoc für java.lang.Object zu diesen Methoden (und notifyAll, nur für den Fall); Sie sind sehr gut geschrieben.