6.9 תהליכונים, א סיכרוניות פתרון
נעל אותי¶
import threading
counter = 0
lock = threading.Lock()
def thread_function():
global counter
for _ in range(100000):
with lock:
counter += 1
def main():
threads = []
for _ in range(4):
thread = threading.Thread(target=thread_function)
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
print("Final Counter:", counter)
if __name__ == "__main__":
main()