相关疑难解决方法(0)

Python字典中的线程安全

我有一个持有字典的班级

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

    @staticmethod
    def addOrder(restaurant_name, orders):
        OrderBook.orders[restaurant_name] = orders
Run Code Online (Sandbox Code Playgroud)

我正在运行调用该方法的4个线程(每个餐厅一个)OrderBook.addOrder.这是每个线程运行的函数:

def addOrders(restaurant_name):

    #creates orders
    ...

    OrderBook.addOrder(restaurant_name, orders)
Run Code Online (Sandbox Code Playgroud)

这是安全的,还是我必须在打电话前使用锁addOrder

python multithreading dictionary thread-safety

92
推荐指数
3
解决办法
6万
查看次数