Python多处理程序在CPU利用率达到100%后导致windows崩溃

2024-06-02 08:40:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用multiprocessing pool.map从csv文件中读取数据,处理数据并将其写回xlsx文件中的不同格式。 我在windows 10机器上有8个核心处理器,但我只使用了4个进程来执行此程序,但由于处理时间较长,它的cpu利用率仍为100%。
每当cpu利用率达到100%时,我的windows 10计算机就会关闭,我无法完全执行程序。任何人都可以建议如何避免pool.imap中的cpu总利用率达到100%,或者防止windows在出现这种情况时关闭

def _run_multiprocess(self,num_process,input_list,target_func,chunk):    
    iterator_result = None
    retVal = None
    l = mp.Lock()
    with mp.Pool(processes=(num_process),initializer=self.process_init, initargs=(l,)) as p:
        start = time.time()
        iterator_result  = p.imap(target_func, input_list,chunksize =chunk)
        p.close()
        p.join()
        end = time.time()
    return iterator_result

Tags: 文件selftargetinputtimewindowsresult利用率