作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想做一个无限循环的函数。
这是我的代码
def do_request():
# my code here
print(result)
while True:
do_request()
用while True
做这个的时候有点慢,所以想用线程池来并发执行函数do_request()
。如何做到这一点?
就像使用 ab
(Apache Bench) 来测试 HTTP 服务器一样。
最佳答案
终于,我解决了这个问题。我使用一个变量来限制线程数。
这是我的最终代码,解决了我的问题。
import threading
import time
thread_num = 0
lock = threading.Lock()
def do_request():
global thread_num
# -------------
# my code here
# -------------
with lock:
thread_num -= 1
while True:
if thread_num <= 50:
with lock:
thread_num += 1
t = threading.Thread(target=do_request)
t.start()
else:
time.sleep(0.01)
感谢所有回复。
关于python - 如何使用线程池做死循环功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27478602/
我是一名优秀的程序员,十分优秀!