微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 多进程、多线程启动

本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末

Python 多进程启动

    def main(self, num):
        """
        多进程启动
        ValueError: Pool not running:这个问题的根源在于:pool.close()提前生效,关闭了pool。所以提示pool没有运行。
          解决:多层循环的情况下,将pool.close()
                               pool.join()
                写在循环最外层
        """
        # 多进程启动
        pool = Pool(num)
        # 获取首字母品牌名称,车系代号
        for brand in self.get_brand():
            for vehicleId, brandType, carName in self.get_model(brand=brand):
                # 启动进程
                pool.apply_async(self.run, (brand, vehicleId, brandType, carName))

        pool.close()
        pool.join()

Python 多线程启动

    def main(self):
        # 获取首字母品牌名称,车系代号
        for brand in self.get_brand():
            print(brand)
            t_list = []
            for vehicleId, brandType, carName in self.get_model(brand=brand):
                print(vehicleId, brandType, carName)
                t = threading.Thread(target=self.run, args=(brand, vehicleId, brandType, carName))
                t_list.append(t)

            # 启动线程
            for t in t_list:
                t.start()

            # 等待所有线程结束
            for t in t_list:
                t.join()

本文仅供学习交流使用,如侵立删! 企鹅 、WX: 1033383881(备注来意)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐