zoukankan      html  css  js  c++  java
  • python中的BaseManager通信(一)文件三分

    可以在windows下单机运行

    主部分(提供服务器)

    1 #mainfirst.py
    2 from multiprocessing.managers import BaseManager
    3 import Queue
    4 queue = Queue.Queue()
    5 class QueueManager(BaseManager): pass
    6 QueueManager.register('get_queue', callable=lambda:queue)
    7 m = QueueManager(address=('127.0.0.1', 50000), authkey='abc')
    8 s = m.get_server()
    9 s.serve_forever()

    发送信号部分(发送)

    1 #subfirst.py
    2 from multiprocessing.managers import BaseManager
    3 class QueueManager(BaseManager): pass
    4 QueueManager.register('get_queue')
    5 m = QueueManager(address=('127.0.0.1', 50000), authkey='abc')
    6 m.connect()
    7 queue = m.get_queue()
    8 queue.put('hello')

    接收信号部分(接收)

    #subsec.py
    from multiprocessing.managers import BaseManager
    class QueueManager(BaseManager): pass
    QueueManager.register('get_queue')
    m = QueueManager(address=('127.0.0.1', 50000), authkey='abc')
    m.connect()
    queue = m.get_queue()
    print queue.get()
    print m.address

    结果:

    hello
    ('127.0.0.1', 50000)

    运行时:不能关掉主部分(提供服务)。发送与接收无所谓先后。

    还有一章是python中的BaseManager通信(二)文件三分。提供服务部分。对本章的发送,接收部分一样有效

  • 相关阅读:
    3D集合图元:最小边界框/包围盒(boundingbox)
    vs2012下 error4996
    将自己的类封装为lib的方法
    3D特征:关于HFM和HBB
    C++的Matlab接口
    BigDataMini导论
    vs2012编译boost_1_54_0
    RGB_D_开发征程(使用Kinect)
    **PCD数据获取:Kinect+OpenNI+PCL对接(代码)
    PCL:全程详解 VS2010+PCL配置
  • 原文地址:https://www.cnblogs.com/liunnis/p/4614947.html
Copyright © 2011-2022 走看看