2024-03-28 18:22:15 发布
网友
我是Python多线程编码的新手。我查阅了锁对象的使用手册,发现正常情况是
g_mutex = Lock() g_mutex.acquire() #some code g_mutex.release()
但是锁没有指定要锁定的变量或函数?那么python会自动找到所有要锁定的关键变量吗?如果我调用一些函数来修改一些变量呢?在
Lock的用途是在任何给定的时间内最多有一个线程可以容纳它。如果您获得锁,您可以确定没有其他进程持有它。如果你想用锁来保护对某个变量的访问,那就由你来定义锁的语义了,只要这样做:在搞乱变量之前获取锁,完成后释放它。锁对象和它所保护的变量之间不需要显式的关系这是由您使用它的方式定义的。(还要注意,Python没有任何特定于这个概念的东西。)
Lock
锁定将找不到要锁定的变量或函数。锁是一个你可以用来这样做的机械装置。例如,如果要保护任何修改的变量foo,则必须:
foo
Lock
的用途是在任何给定的时间内最多有一个线程可以容纳它。如果您获得锁,您可以确定没有其他进程持有它。如果你想用锁来保护对某个变量的访问,那就由你来定义锁的语义了,只要这样做:在搞乱变量之前获取锁,完成后释放它。锁对象和它所保护的变量之间不需要显式的关系这是由您使用它的方式定义的。(还要注意,Python没有任何特定于这个概念的东西。)锁定将找不到要锁定的变量或函数。锁是一个你可以用来这样做的机械装置。例如,如果要保护任何修改的变量
foo
,则必须:相关问题 更多 >
编程相关推荐