基本上我现在有一个线程代码,但我希望尝试转换为多处理池来测试性能
user_dict = {
'users': [
{
'username': 'test1',
'password': 'opop1',
},
{
'username': 'test2',
'password': 'opop2',
}
]
}
thread_list = []
for user in user_dict['users']:
ct = threading.Thread(
target=task,
args=(
some_object,
some_other_object,
another_object,
user['username'],
user['password']
)
)
ct.start()
thread_list.append(ct)
for thread in thread_list:
thread.join()
我任务函数将基于每个用户的用户名和密码进行一些登录,并继续分配一些信息以调用API端点来获取数据并写入JSON文件。
但是我不知道如何将其转换为多处理池,因为我不确定如何传递user_dict和其他对象信息。
1条答案
按热度按时间4xrmg8kj1#
你可以创建一个
Pool
,并在starmap
的列表中输入你的函数和参数。results
包含每个池成员的所有返回值: