Python Exp9
Python Exp9
Basic Threading :-
import threading
import time
def thread_function(name):
print(f"Thread{name} started")
time.sleep(2)
print(f"Thread{name} ended")
thread1 = threading.Thread(target=thread_function, args=(1,))
thread2 = threading.Thread(target=thread_function, args=(2,))
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print("Main thread ended")
Output :
2. Synchronizing Threads with Lock :-
import threading
shared_resource = 0
lock = threading.Lock()
def thread_function():
global shared_resource
for _ in range(100000):
with lock:
shared_resource += 1
thread1 = threading.Thread(target=thread_function)
thread2 = threading.Thread(target=thread_function)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print("Shared resource value: ",shared_resource)
Output :