threading lock python code example

Example 1: 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() # Wait until thread finishes to exit

Example 2: 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)]