How I should control number of worker threads, should Implement my own pooling or thread automatically is closed when task is finished ?