我最近终于能够使用_thread运行多处理,我真的认为它是我想要的完美脚本,但当然,事实并非如此。
问题:问题是当我运行10个线程时需要大量的CPU使用率。这意味着我无法同时运行许多任务。 (竞争条件?)
我想要什么
基本上我正在寻找脚本来运行线程而不使用大量的CPU使用:https://i.imgur.com/pZHDtYL.png - 同时运行所有线程(与图片同时)而不需要大量的CPU使用 - 如果我做10000也许它应该杀死我的CPU但运行等10个线程不应该花费那么多!
代码
def text():
text = """
Hello stack!
"""
print(text)
sys.exit()
def Checker(thread):
global prod
prod = int(thread) + 1
_thread.start_new_thread(text, ())
print('Profile-{} starting thread...'.format(prod))
text()
def main():
while True:
try:
accounts_num = int(input(Fore.WHITE + 'How many text do you wanna run? [NUMBERS] \n' + Fore.RESET))
except ValueError:
print(Fore.RED + "Stop being stupid" + Fore.RESET)
continue
else:
jobs = []
for i in range(0, accounts_num):
p = multiprocessing.Process(target=Checker, args=(str(i),))
jobs.append(p)
time.sleep(.5)
p.start()
for p in jobs:
p.join()
sys.exit()
编辑:
问题出在_thread.start_new_thread(text, ())
,当这开始时,它开始耗尽CPU。