Hi Mark, Thanks for your help. I am registering for the CW group as well.
Cheers Alex P.S. My example also needs to be fixed :). The declaration > > boolean isRunning=false; should be put before the onStart() definitions (within the class scope). On Dec 28, 7:29 pm, Mark Murphy <[email protected]> wrote: > alexk-ilwrote: > > Hi, > > > I'm really enjoying Mark's "Beginning Android" - everything is clear > > and straight to the point. > > > I wonder why in the Threading example the "isRunning" flag wasn't > > declared "volatile". The flag is used to stop a thread from another > > thread. > > > In case you have the book (or even wrote it :) ) - it's on page 143. > > In case you don't, the simplified version of the code goes like this: > > > public class fooBar extends Activity{ > > ... > > public void onStart() { > > super.onStart(); > > > // why not volatile? > > boolean isRunning=false; > > > Thread BG=new Thread(new Runnable() { > > public void run() { > > try { > > while(isRunning){ > > // Do something > > } > > } > > catch (Throwable t) { > > // Do something > > } > > }); > > > isRunning=true; > > background.start(); > > } > > > public void onStop() { > > super.onStop(); > > isRunning=false; > > } > > } > > > I know, the code works on android, so what am I mising here? > > Hmmmmm... > > Usually, I use AtomicBoolean rather than volatile, but I apparently used > neither here. On the whole, booleans are as thread-safe as a datatype > gets, since we're only talking about a bit. That being said, I am being > a bit sloppy there, and should improve matters. > > Thanks for pointing it out! > > BTW, you're welcome to use the [cw-android] Google Group for questions > on _Beginning Android_: > > http://groups.google.com/group/cw-android > > -- > Mark Murphy (a Commons > Guy)http://commonsware.com|http://twitter.com/commonsguy > > Android Training in US: 8-12 February 2010:http://bignerdranch.com- Hide > quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "Android Beginners" group. NEW! Try asking and tagging your question on Stack Overflow at http://stackoverflow.com/questions/tagged/android To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en

