<p>I have two threads in an Android application, one is the view thread, and the other is the worker thread. What I want to do is, sleep the worker thread until the view thread terminates the handling of the onDraw method.</p>

<p>How i can do this? is there any wait for the signal or something?</p>

Share a java.lang.Object between the two threads, whose sole purpose is to tell the worker thread when it can continue its work.  Whenever the worker thread reaches a point where it should sleep, it does this:
```
```
stick.wait();
```
```
When the view thread finishes its onDraw work, it calls this:
```
```
stick.notify();
```
```
Note the requirement that the view thread owns the monitor on the object.  In your case, this should be fairly simple to enforce with a small sync block:
```
```
void onDraw() {
  ...
  synchronized (stick) {
    stick.notify();
  }
} // end onDraw()
```
```
Consult the javadoc for java.lang.Object on these methods (and notifyAll, just in case); they're very well written.