Maison > Questions et réponses > le corps du texte
对于线程来说,可能会有线程安全的问题,比如
total = 0
def do_something():
global total
# do something else
total += 1
这个函数,对全局变量total自增,在多线程的情况下,运行十万次,最终total的结果可能不是100000
而对于单线程中的多个协程来说,可能会出现这种情况吗,比如
total = 0
async def do_something():
global total
# do something else
total += 1
def test():
while True:
# do something
asyncio.ensure_future(do_something())
当do_something()在协程中运行十万次时,total的最终结果一定是十万吗?
阿神2017-04-18 09:58:00
La coroutine de Python est une pseudo-concurrence, pas une concurrence au vrai sens du terme. Il ne peut y avoir qu’une seule synergie réellement traitée, et si l’une d’elles traite les autres, elles sont toutes dans un état bloqué. Il n'y aura donc aucune confusion. C'est ma compréhension partielle. .