make_multiprocess.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:anglerfish 作者: juancarlospaco 项目源码 文件源码
def _multi_cpu(self, _func, job_queue: list, timeout: int) -> list:
        if _getLen(job_queue) == 0:
            return []
        index = _get_index(job_queue, self.cpu_num)
        cpu_pool = multiprocessing.Pool(processes=self.cpu_num)
        mgr = multiprocessing.Manager()
        process_bar = mgr.list()
        for i in range(self.cpu_num):
            process_bar.append(0)
        result_queue = cpu_pool.map(
            _multi_thread,
            [[_func, self.cpu_num, self.thread_num,
              job_queue[int(index[i][0]): int(index[i][1] + 1)],
              timeout, process_bar, i]
             for i in range(len(index))])
        result = []
        for rl in result_queue:
            for r in rl:
                result.append(r)
        return result
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号