לדלג לתוכן

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()