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.
How i can do this? is there any wait for the signal or something?
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:
When the view thread finishes its onDraw work, it calls this:
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:
Consult the javadoc for java.lang.Object on these methods (and notifyAll, just in case); they’re very well written.