如果accessToken
是公共的且不需要多次获取,你可以在多线程执行之前获取一次,并将其作为参数传递给process_api_data
函数。这样每个线程都可以使用相同的accessToken
,而无需多次获取。
以下是一个修改后的示例代码:
import threading
def process_api_data(accessToken, api_data):
# 使用accessToken执行任务
pass
def run_concurrently(accessToken):
threads = []
api_data = [...] # 要处理的API数据
for _ in range(10):
t = threading.Thread(target=process_api_data, args=(accessToken, api_data))
threads.append(t)
t.start()
for t in threads:
t.join()
accessToken = self.worker_login() # 获取accessToken
run_concurrently(accessToken)
在上述示例中,accessToken
只会在主线程中获取一次,并通过run_concurrently
函数传递给每个子线程的process_api_data
函数。这样,所有线程都可以共享相同的accessToken
进行任务处理,避免了多次获取的开销。