i know we cannot call Thread.start() more than once on same thread object.
but can anyone say why there is a restriction like that?
That's the way it was designed; Threads are like Sockets: if a client has closed its socket the server is left with a useless socket; it can't go "Hey, accept method, use this socket again when a client wants to connect". It's more 'pure' in an OO way: suppose a Thread could be started again: it would be some sort of zombie because it had died before; it is acting as if it were another, brand new Thread. It is much easier to start a new thread (much less bookkeeping)
Originally Posted by jomypgeorge
And much less shooting and zombie-phobia chaos. ;-)
Yes, that too, and also less close up scenes of maggots crawling all over the place and fallen off heads and ripped off limbs and bloody intestines flying around.
Originally Posted by masijade