On Mon, Sep 20, 2010 at 9:33 PM, DanH <danhi...@ieee.org> wrote:
> Odd, in a true multi-threading environment if one thread waits (using,
> say, a wait on semaphore) then others continue executing.  So in spite
> of the dialog being "asynchronous", it really isn't -- it's just
> hijacking the requesting thread?

Not really.

Android's UI is message-driven. Your request to display a dialog is
put on the message queue. If you allow the main application thread to
do its work, it will pop that message off the queue and render the
dialog. Further operations (e.g., clicking a button) put other
messages on the queue, which are driven by the main application
thread.

All requests to do things with the UI follow this same post-a-message
pattern. It's why you can't do UI operations from background threads
(to avoid synchronization overhead for the message queue) and why you
really don't want to tie up the main application thread (prevents
Android from processing messages on the queue).

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://github.com/commonsguy
http://commonsware.com/blog | http://twitter.com/commonsguy

_The Busy Coder's Guide to Android Development_ Version 3.1 Available!

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to