要防止两个不同类中的两个方法同时运行,可以使用锁或同步机制来实现并发性控制。下面是一个使用锁来防止并发运行的代码示例:
import threading
# 创建一个全局锁对象
lock = threading.Lock()
class Class1:
def method1(self):
with lock:
# 在此处写入method1的代码逻辑
pass
class Class2:
def method2(self):
with lock:
# 在此处写入method2的代码逻辑
pass
在上面的示例中,我们创建了一个名为lock
的全局锁对象,并在method1
和method2
方法中使用with lock
语句来获取锁。这样,在任何时刻只能有一个线程能够获取到锁,从而保证了这两个方法不会同时运行。
请注意,这里使用的是互斥锁(Mutex Lock),它在同一时刻只允许一个线程访问共享资源。如果你需要更高级的并发控制,你可以考虑使用其他类型的锁,如读写锁(ReadWrite Lock)或信号量(Semaphore),具体取决于你的应用场景和需求。