This is making me a little crazy:
Ok. So the first thread.run() calls the run() method defined in new Runnable(), but why isn't thread.start() necessary before calling thread.run()?
I told myself maybe thread.start() isn't needed when you are using Runnable.
So then why doesn't thread.start() cause some kind of exception because the
thread is already running?
By the time we get to the 2nd thread.run(), I don't know what the heck is going on.
Are there 2 different threads? What did thread.start() really start?
Why does this thing work?
Mark