Because the thing you do is almost certainly not a thread. This is a ThingTheDoesSomeUsefulWork , and you want it to do this useful work in a separate thread. Let's say I'm writing a thing that polls a web server every 30 seconds. Is ThingThatPollsWebServer thread? Or is it just a thing that polls a web server.
In addition, creating Runnable simplifies testing, and also gives you the flexibility to run your stuff without using a thread or using an artist structure.
source share