[Python] Thread Safety in Python's dictionary

Discussão em 'Python' iniciado por Stack, Maio 20, 2025.

  1. Stack

    Stack Membro Participativo

    I have a class which holds a dictionary

    class OrderBook:
    orders = {'Restaurant1': None,
    'Restaurant2': None,
    'Restaurant3': None,
    'Restaurant4': None}

    @staticmethod
    def addOrder(restaurant_name, orders):
    OrderBook.orders[restaurant_name] = orders


    And I am running 4 threads (one for each restaurant) that call the method OrderBook.addOrder. Here is the function ran by each thread:

    def addOrders(restaurant_name):

    #creates orders
    ...

    OrderBook.addOrder(restaurant_name, orders)


    Is this safe, or do I have to use a lock before calling addOrder?

    Continue reading...

Compartilhe esta Página