【发布时间】:2021-07-20 14:36:57
【问题描述】:
def main():
proxies = [i for i in open('proxies.txt', 'r+').readlines()]
instance = Pair('0x852E3A65d0cD8561eDc0927012412D60AAAa9a4C', proxies)
num_worker_threads = int(500)
threading.Thread(target=instance.set_title, name="set_title").start()
for i in range(num_worker_threads):
threading.Thread(target=instance.get_pair()).start()
if __name__ == '__main__':
main()
我正在尝试将线程添加到我的程序中,但是无论我放入 500 或 1 个线程,它的速度仍然相同。它运行的函数是一个 While True 循环,其中包含一个 try 和一个 get 请求。
如果您对我做错了什么有任何想法,请帮助:)
【问题讨论】:
-
您的意思是:
target=instance.get_pair? -
另外,
targets 在做什么?如果他们正在做 CPU 密集型工作,那么线程在这里不会有太大帮助。除非你在做 IO 工作,否则你需要使用多处理。 -
我从
get request的 OP 中获取了声明,表示网络绑定工作。 -
@quamrana 是的。除非
get和set是“GET”/“POST”请求之类的,否则函数的名称听起来不是很基于 IO。 -
是的,你是对的,我对此感到很愚蠢,但非常感谢。澄清是
target=instance.get_pair修复了它。
标签: python python-3.x multithreading