Python多线程使用来自另一个线程中的线程的数据
我是Python线程新手,我尝试做的是:Python多线程使用来自另一个线程中的线程的数据,python,multithreading,Python,Multithreading,我是Python线程新手,我尝试做的是: 1个带有While循环的线程,该线程将每N秒执行一次对API的GET请求以刷新数据 第二个线程有一个While循环,它将使用数据(ip地址)每N秒ping一次目标 因此,我正在寻找一种方法来启动第一个线程,然后只在第一个API调用后启动第二个线程,然后将这些数据共享给第二个线程,以便它可以执行其逻辑 有人能帮我吗?谢谢。根据您的要求,这里有一个简单的样板代码,您可能想尝试一下 import time import threading availab
- 1个带有While循环的线程,该线程将每N秒执行一次对API的GET请求以刷新数据
- 第二个线程有一个While循环,它将使用数据(ip地址)每N秒ping一次目标
有人能帮我吗?谢谢。根据您的要求,这里有一个简单的样板代码,您可能想尝试一下
import time
import threading
available = False
def thread1():
global available
while True:
# TODO: call API
# --------------
available = True # set available True after API call
time.sleep(5) # perform API calls after every 5 seconds
def thread2():
while True:
# TODO: perform ping
# --------------
# perform ping request after every 5 seconds
time.sleep(5)
if __name__ == "__main__":
t1 = threading.Thread(target=thread1, name="thread1")
t2 = threading.Thread(target=thread2, name="thread2")
t1.start()
while not available:
time.sleep(0.1)
else:
t2.start()
您应该知道
线程化
和队列
。我添加了第二个全局变量来共享API调用的结果,它可以像预期的那样完美工作,谢谢!