Junior — Middle
Оё имкон дорад, ки дар як сатр дар Python чанд вазифаро ҳамзамон иҷро кард?
sobes.tech AI
Ҷавоб аз AI
Дар Python, дар як танҳо ҷараён, чандин вазифаҳоро ҳамзамон иҷро кардан мумкин аст, бо истифода аз барномасозии асинхронӣ (asyncio) ё генераторҳо, ки имкон медиҳанд, ки байни вазифаҳо гузариш кунанд бе эҷоди ҷараёнҳои нав. Аммо, бо сабаби GIL (Global Interpreter Lock) дар иҷрои стандартии CPython, иҷрои ҳамзамон дар чанд ҷараён, ки кодро Python иҷро мекунанд, маҳдуд аст — танҳо як ҷараён дар як вақт иҷро мешавад.
Масалан бо asyncio барои иҷрои ҳамзамон дар як ҷараён:
import asyncio
async def вазифа(ном, дер):
await asyncio.sleep(дер)
print(f"Вазифа {ном} анҷом ёфт")
async def main():
await asyncio.gather(
вазифа('A', 1),
вазифа('B', 2),
вазифа('C', 1.5)
)
asyncio.run(main())
Бинобар ин, чанд вазифа метавонанд "дар параллел" дар як ҷараён иҷро шаванд, бо гузариш ба асоси вақти интизорӣ, аммо на ҳамзамон дар маънои бисёрҷараёнӣ.