账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Python 分布式进程如何交换数据?
    55
    0

    我知道多进程,也知道多进程交换数据用队列Queue和管道Pipes

    问题一:

    队列和管道是在内存中交换数据?还是在文件中交换数据?win和linux上实现会有不同吗?

    问题二:

    一般的多进程队列和管道的用法:

    # 在一个python文件中指定,然后把队列作为参数传入进程函数:
    q = Queue()
    pw = Process(target=write, args=(q,))
    pr = Process(target=read, args=(q,))
    

    而分布式进程的意思是说(我自己说的):
    两个py文件

    test1.py
    test2.py
    

    分别运行其(不是同时运行):

    # 15:37
    python test1.py
    # 15.38
    python test2.py
    

    这样也是两个进程,只是运行在不同的python窗口,他们怎么交换数据?这用管道和队列就不能实现了吧
    我也不知道我为啥会问这样的问题...
    原来我的做法是,直接用tcp把它们连起来,完全够用,还可以通过网络分布出去
    但是我就想直接在本地,没必要用网络吧,能不能直接让它两在内存中就交换数据?
    这样岂不美哉233
    谢谢

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部