通过路由,交换,安全,Qos四大典型技术模块同你分享网络运维中的技术难题,让老司机带你躲过网络运维常见的那些坑, 查看详情>>>
0

我的帖子

个人中心

设置

  发新话题
# -*- coding:utf-8 -*-
import queue
from multiprocessing.managers import BaseManager
from multiprocessing import freeze_support

q1 = queue.Queue()
q2 = queue.Queue()


class QueueManage(BaseManager):
    pass


def a():
    global q1
    return q1


def b():
    global q2
    return q2


def main():
    QueueManage.register('put_t', callable=a)
    QueueManage.register('get_t', callable=b)
    manage = QueueManage(address=('127.0.0.1', 5000), authkey=b'lying')
    manage.start()
    print('server start ...')
    manage_q1 = manage.put_t()
    manage_q2 = manage.get_t()
    for i in range(5):
        print('put data ...')
        manage_q1.put('put' + str(i))
    print('try get from queue...')
    for i in range(5):
        f = manage_q2.get(timeout=10)
        print(f)
    manage.shutdown()
    print('server stop ...')


if __name__ == '__main__':
    freeze_support()
    main()

报错: f = manage_q2.get(timeout=10)行queue.Empty



@贵在坚持 帮忙看看哈



51CTO论坛有移动端啦,发帖回帖更方便~

51CTO-Python学习交流群:250842264,http://shang.qq.com/wpa/qunwpa?i ... 40f5a28dc08a913cec0   欢迎大家的加入~
我知道了,前面是没有在其他进程里面对这个队列put东西,所以为空,谢谢啦
本帖最近评分记录



引用:
原帖由 李晨爽 于 2018-3-2 15:02 发表
@贵在坚持 帮忙看看哈
最近比较忙,刚看到,好在LZ解决能力强。



分布式?多台机器一起运行这个程序?



引用:
原帖由 yyccww123 于 2018-3-5 21:16 发表
分布式?多台机器一起运行这个程序?
恩,python3自带的分布式进程,用队列来传输数据,可以多台也可以在一台机器上



‹‹ 上一贴:python模拟登陆139邮箱   |   下一贴:请问各位兄弟姐妹 python怎么进行中文字符串的查找? ... ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com