Abilka, Окей, перед тобой задача сделать просчет и рассылку на 1000 юзеров. Сделай мне так чтобы не было race condition и сделай удобный вывод данных с каждого треда так чтобы не было NullPointerException. Не забывый что поток занимает 8мб ОЗУ. Треды слишком тяжелы и неудобны, по крайней мере их реализации в питоне. Лучше использовать асинхронные функции, генераторы и асинхронные задачи Celery. Которые быстры и умещаются в одном потоке. Также aiogram полностью асинхронный и предовтращает некоторые проблемы которые могут возникать на стороне телеграмма