Hmm, I wouldn't term the manually-reset event as a fundamental construct. It's a composite.
It is a fairly common construct in unstructured event handling. Note that it involves state with a global lifetime (that is, not tied to the execution of any specific running code). Java has a strong bias toward structured mechanisms. You can view this as Java nudging you toward "more modern" synchronization techniques. On Jun 10, 11:16 am, ls02 <[email protected]> wrote: > This is similar how I implemented it originally. I though there must > be some original Java core object to implement such fundamental as > manually reset event. > > On Jun 10, 2:01 pm, Bob Kerns <[email protected]> wrote: > > > > > This is trivial to do with Java. (I say "trivial" in the sense of how > > simple the technique is. Knowing how to properly use ANY thread > > synchronization, even trivial ones, is hard...). > > > Here's a rough sketch. It's been a long time since I've used the > > windows Event object, and I'm just typing in the Java off the top of > > my head. So take this rough explanation, not worked out code example, > > please. > > > class WindowsEvent { > > private boolean signaled = false; > > public synchronized void signal() { > > signaled = true; > > notifyAll(); // I forget the Event behavior -- notify() might e > > correct instead? > > } > > > public synchronized void reset() { > > signaled = false; > > } > > > public synchronized void waitOnEvent() { > > while (! signaled) { > > wait(); > > try { > > } catch (InterruptedException ex) { > > } > > } > > } > > > } > > > On Jun 10, 5:11 am, ls02 <[email protected]> wrote: > > > > I looked at both of them and I don't think either of them work as > > > manually reset event. Semaphore and lock ussualy have matching lock > > > and unlock called from the same thread, they do not provide way for > > > another thread to unlock the thread waiting on object. Basic Java > > > Object sync works fine but it does not seem to allow to manully reset > > > object state to signaled or non-signaled. > > > > On Jun 10, 7:35 am, Mark Murphy <[email protected]> wrote: > > > > > ls02 wrote: > > > > > Is there sync object on android similar to manually reset event on > > > > > Windows? > > > > > > It must have signaled and non-signaled state both set manually. A > > > > > thread must be able to wait on it and wait would return immediately if > > > > > the object is in signaled state and block if it is in non signaled > > > > > state until another thread sets it to signaled state. There must be > > > > > way to reset the object back to non-signaled state. > > > > > Off the cuff, that sounds like java.util.concurrent.Semaphore, or > > > > perhaps java.util.concurrent.locks.ReentrantLock. > > > > > You might wish to take a look at _Java Concurrency in Practice_, as your > > > > questions have little to do with Android and everything to do with Java: > > > > >http://amzn.to/baqNfl > > > > > -- > > > > Mark Murphy (a Commons > > > > Guy)http://commonsware.com|http://github.com/commonsguyhttp://commonsware.com/blog|http://twitter.com/commonsguy > > > > > Warescription: Three Android Books, Plus Updates, One Low Price! -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

