Threads killed by JVM ?
843811Mar 12 2005 — edited Mar 19 2005I run a 24h/day uptime system that contains some worker threads that follow this simple algorithm:
while (!exit){
- take a job from input queue
- run job
}
The threads are isolated from the "rest of the world", their only connection with the system is the input queue; so they do not interfere with each other (->are not deadlocked or livelocked), yet from time to time (a couple of days) some threads seem to be blocked - the result of isAlive() is true, yet the thread is not taking any job from inputQueue.
There is also a Timer thread that wakes up from time to time and puts a job in a specified queue. This thread seems to block too after some time.
The input queues are LinkedList objects (Doug Lea concurrent package) so I excluded the possibility of a bug in the implementation of the queue.
One possible explanation I was thinking about is that the JVM or the OS would kill some of the threads in peak load times - but I did not find any documentation of such behavior.
I would really appreciate some help on this problem, even similar situations that one might have dealt with.