WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content
Discussion options

You must be logged in to vote

Yes, there will be a race condition and it's great that you are aware of the issue.

You must use an async lock, not a thread lock. Try this:

import asyncio

counter_lock = asyncio.Lock()

def my_function():
    counter_lock.acquire()
    counter += 1
    counter_lock.release()

(note: untested)

Replies: 2 comments 1 reply

Comment options

You must be logged in to vote
1 reply
@stefanuytterhoeven
Comment options

Answer selected by stefanuytterhoeven
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants