Skip to content

Instantly share code, notes, and snippets.

@pganssle
Created February 7, 2019 18:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pganssle/d6587d68306ce19df65dfa2eace40f89 to your computer and use it in GitHub Desktop.
Save pganssle/d6587d68306ce19df65dfa2eace40f89 to your computer and use it in GitHub Desktop.
import threading
barrier = threading.Barrier(2)
import threading
import sys
import time
import locker
def worker1():
import mod1
print(f"Worker 1: {mod1.val}")
def worker2():
import sys
mod1 = sys.modules.get('mod1', None)
if mod1 is None:
import mod1
print("Worker 2: No problems")
else:
print(f"Worker 2: {mod1.val}")
threading.Thread(target=worker1).start()
threading.Thread(target=worker2).start()
time.sleep(0.1)
locker.barrier.wait()
import locker
locker.barrier.wait()
val = "Forbidden variable"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment