python thread lock code example
Example 1: how to lock writing to a variable thread python
from threading import Lock, Thread
lock = Lock()
g = 0
lock.acquire()
g += 1
lock.release()
Example 2: python daemon thread
import threading
import time
def func_1():
while True:
print(f"[{threading.current_thread().name}] Printing this message every 2 seconds")
time.sleep(2)
daemon_thread = threading.Thread(target=func_1, name="daemon-thread", daemon=True)
daemon_thread.start()
time.sleep(4)
Example 3: threading python
import threading
import time
def thread_function(name):
print(f"Thread {name}: starting")
time.sleep(2)
print(f"Thread {name}: finishing")
my_thread = threading.Thread(target=thread_function, args=(1,))
my_thread.start()
time.sleep(1)
my_second_thread = threading.Thread(target=thread_function, args=(2,))
my_second_thread.start()
my_second_thread.join()
Example 4: threading lock in python
import threading
lock = threading.Lock()
def check_this():
with lock:
"""
acquires lock at the beginning
and releases at the end of this block
"""
a, b = 1, 0
print("locked")
try:
print(a // b)
except Exception as _:
print(_)
print("lock is released")
[threading.Thread(target=also_this).start() for _ in range(2)]