pycharm中多进程踩坑记录–Python

2024-04-18 0 129
目录
  • pycharm多进程踩坑–Python
    • 所遇到的情况
    • 执行的代码
  • 解决办法
    • 运行结果正常
  • 总结

    pycharm多进程踩坑–Python

    所遇到的情况

    如下:

    在进程中创建类实例,回调函数去获取实例时,报如下错误,注意在cmd和linux下面运行是没问题的。

    pycharm中多进程踩坑记录–Python

    执行的代码

    如下:

    # –coding: utf-8 —
    # @User: JasonHU
    # @Time: 2020/11/25 21:11
    # @IDE: Pycharm
    # author: hzc
    import multiprocessing as mp
    import time

    class test:
    def __init__(self, x):
    self.x = x

    def printf(self):
    print(self.x)

    def foo_pool(x, y):
    time.sleep(5)
    instance = test(x * x + y)
    return instance

    result_list = []

    def log_result(result):
    # This is called whenever foo_pool(i) returns a result.
    # result_list is modified only by the main process, not the pool workers.
    # result_list.append(result)
    print(type(result))

    def apply_async_with_callback():
    pool = mp.Pool(1)
    for i in range(10):
    pool.apply_async(foo_pool, args=(i, 2), callback=log_result)
    pool.close()
    pool.join()
    print(result_list)

    if __name__ == \’__main__\’:
    apply_async_with_callback()

    解决办法

    我在网上找了很久都没有找到解决方案

    由于考虑到是pycharm的问题

    因而改变了一下pycharm的版本(从2020.2.3->2018.3.7)

    运行结果正常

    如下:

    pycharm中多进程踩坑记录–Python

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源网。

    您可能感兴趣的文章:

    • python3设置多进程名称并在ps命令中可见(Centos7系统)
    • Python使用multiprocessing如何实现多进程
    • Python中多进程处理的Process和Pool的用法详解
    • python多进程并发的实现示例
    • Python多进程Process和管道Pipe的使用方式
    • Python使用logging实现多进程安全的日志模块

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Python pycharm中多进程踩坑记录–Python https://www.u-9.cn/jiaoben/python/186768.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务