Tim Peierls wrote:
On 10/17/07, *Jerome Louvel* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
In terms of end to end functionality, our use of GZip encoding
works fine and the encoded representations make it from client
to server OK, so the concern is simply that there end up being
hundreds of these "dead corpse" threads left over as our
software runs for longer.
As suggested by Tim, I have added an explicit call to
setDaemon(false) in the ByteUtils class, before starting the IO
threads. I hope that this can workaround the issue.
I think it's good practice to setDaemon(false) as you've done -- though
I still would like to know *why* the threads in Matthew's example have
daemon status -- but I don't think it will solve Matthew's problem,
which is that large numbers of permanently blocked threads are
accumulating over long server runs. (The only difference between daemon
threads and user threads is that the former don't prevent a JVM from
exiting.)
I would agree with Tim here. I don't think that this is going to resolve
the issue.
cheers
</jima>