Я знаю, что могу вызвать thread.join (), чтобы принудительно завершить поток, прежде чем текущий поток сможет продолжить. Однако в моей программе есть куча файлов, которые считываются в память, модифицируются и затем записываются на диск. Каждый сброс выполняется в отдельном потоке, так что текущий поток может продолжаться, пока содержимое записывается на диск.
Я мог бы сохранить набор всех порожденных потоков, а затем соединить их все в конце выполнения основного потока, но если программа запускается в течение длительного времени, может быть огромное количество сбрасываемых потоков, большинство из которых завершено в любом случае.
Есть ли способ присоединиться ко всем активным потокам перед продолжением и выходом из основного потока?