Checking the entire thread list on task insert was very slow.  A queue is faster, but it may be better to leave the treads alive forever.