(The problem is that several of the "authoritative" examples of using
postDelayed that you'll find on the net make this error, and lead many
astray.)

On Oct 23, 5:00 am, Kostya Vasilyev <kmans...@gmail.com> wrote:
> 23.10.2010 4:04, Bob Kerns пишет:> Because you're left with two dead birds 
> instead of one?
>
> Or a ragout made out of two pigeons and marshmallows :) Perhaps pretty,
> but inedible.
>
> Runnable is an interface for packaging code into an object. There is
> nothing about threading inherent in Runnable.
>
> Having Thread implement Runnable makes using as a Runnable pretty
> obvious - and wrong. The entire reason for Thread class's existence is
> to be able to run code on a separate thread. That's clearly not the same
> as packaging code into an object, which is what Runnable does.
>
> So I'd say this is a case of inheritance for convenience of
> implementation, which is usually considered to be a bad. But it's worse
> than that, since treating Thread as a Runnable - as permitted by its
> derivation - causes Thread to completely break.
>
> Could have been something like this:
>
> class Thread /* does not implement Runnable */
> {
> // supply runnable to do background work
> Thread(Runnable r) {
> this.runnable = r;
>
> }
>
> // override worker() to do background work
> Thread() {
>
> }
>
> void start ()
> {
> // fork, call worker()
>
> }
>
> void worker() {
> if (this.runnable != null) {
> this.runnable.run();}
>
> else {
> throw new IllegalStateException("Either use Thread(Runnable) or override
> worker()");
>
> }
> }
> }
>
> --
> Kostya Vasilyev -- WiFi Manager + pretty widget 
> --http://kmansoft.wordpress.com

-- 
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