Closed GoogleCodeExporter closed 8 years ago
Thanks for your observations. In fact, the queue thread is reincarnated in all
cases, even if ThreadDeath is caught.
This is an intentional design decision. Thread.interrupt() is performed on a
specific thread - and it is processed correctly, by terminating the interrupted
thread.
However, sending interrupt to the queue thread does not mean that the queue
must stop. ("Queue Thread" does not equal "SQLiteQueue".) In fact, this would
be a bad behavior because any code in your JVM can interrupt any thread (and is
allowed to do so), thus compromising the consistency of the queue behavior.
That's why the queue thread gets reincarnated after a while to continue serving
the queue.
If you need to stop the queue and terminate the thread, you need to use
SQLiteQueue.stop().
Original comment by ser...@gmail.com
on 6 Mar 2014 at 10:32
Original comment by ser...@almworks.com
on 21 Sep 2014 at 6:28
Original issue reported on code.google.com by
s...@cs.washington.edu
on 2 Mar 2014 at 5:20