Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
Android Tool
Program to manage control Android devices with Fastboot and ADB
Main Features:
Batch and single app installation (.apk files)
Disable, enable or uninstall system apps
Open, force stop or clear data of your apps
Receive and save logs from your device
Install or boot custom recovery or wipe partitions
Save apps list
Always relevant links to firmware and everything you need
And more
https://github.com/fast-geek/Android-Tool
Download - https://github.com/fast-geek/Android-Tool/releases
Telegram channel - @android_tooI
Telegram chat - @android_tooI_chat
4PDA thread - https://4pda.to/forum/index.php?showtopic=1000362
📡@NoGoolag📡@Libreware
#adb#fastboot
How to run #ADB and #fastboot in #Termux without root to unlock #bootloader, run ADB commands, remove #bloatware, flash ROM, or even root another #Android
https://www.mobile-hacker.com/2025/06/16/how-to-run-adb-and-fastboot-on-a-non-rooted-android-smartphone-using-termux/:
1. It supports debloating of various manufacturers and mobile carriers such as LG, Samsung, Xiaomi, Huawei, Oppo, Realme, Vivo, ZTE, OnePlus, Nokia, Sony, Asus, Google, Fairphone, Motorola, Tecno, Unihertz.
2. Full access to the app’s private storage — including databases, tokens, cached credentials, config files, or even offline user data.
3. Another common issue in AndroidManifest.xml is this flag: When enabled (which it is by default unless explicitly disabled), Android allows the app’s private data to be backed up via ADB — again, even on non-rooted devices.
Android, use termux-adb command instead of adb
https://github.com/nohajc/termux-adb
Android debloater for pc and debloat lists
https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation
https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/resources/assets/uad_lists.json
#debloat