Python - 以低CPU使用率运行_thread

时间:2018-01-10 20:21:31

标签: python multithreading python-multithreading

我最近终于能够使用_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。

0 个答案:

没有答案