From my understanding, "check_auth" keeps fetching the variable "global users" in the flask main threads, while "load_users" modifies it in a separate thread.
Since "load_users" is not called very frequently, a mutual lock will have little effect on the peformance.
I have little experience on Python threading, and I'm sorry if I made a misunderstanding.