Потоки, которые убивают себя, представляют проблемы.Вы должны синхронизироваться с основным потоком, когда поток действительно убивает себя.
Мне кажется, что вам будет лучше с одним выделенным потоком, который сделал эту работу.Используйте очередь блокировки и реализуйте шаблон производитель / потребитель.Вместо того, чтобы прерывать поток, когда ему нечего делать, оставьте его без дела, пока не придет больше работы.