要让一个方法等待另一个方法完成,可以使用线程同步的机制。下面是一个常见的方法:
示例代码:
import threading
def method1():
print("Method 1")
def method2():
print("Method 2")
# 创建线程
t1 = threading.Thread(target=method1)
t2 = threading.Thread(target=method2)
# 启动线程
t1.start()
t1.join() # 等待t1线程执行完成
t2.start()
示例代码:
import threading
lock = threading.Lock()
def method1():
lock.acquire() # 获取锁
try:
print("Method 1")
finally:
lock.release() # 释放锁
def method2():
lock.acquire() # 获取锁
try:
print("Method 2")
finally:
lock.release() # 释放锁
# 创建线程
t1 = threading.Thread(target=method1)
t2 = threading.Thread(target=method2)
# 启动线程
t1.start()
t2.start()
这样,method1的执行完全会在method2之前完成。
需要注意的是,在多线程编程中,需要考虑线程安全的问题,如避免竞态条件、死锁等情况的发生。
领取专属 10元无门槛券
手把手带您无忧上云