像绅士一样去征服
2021-08-22 19:10
采纳率: 100%
浏览 31
已结题

windows下python multiprocessing问题

from multiprocessing import Process

def do_request(udp_server):
    # 循环接收请求分情况讨论
    while True:
        request, addr = udp_server.recvfrom(1024)  # 接收请求
        tmp = request.decode().split(" ", 1)  # 解析通信协议
        # print(request.decode())  # 测试服务端和客户端是否互通
        if tmp[0] == "LOGIN":  # tmp->[LOGIN,name]
            login(tmp[1], udp_server, addr)
        elif tmp[0] == "CHAT":  # tmp->[CHAT,name:content]
            chat(tmp[1], udp_server)
        elif tmp[0] == "EXIT":  # tmp->[EXIT,name]
            exit_chat(tmp[1], udp_server)


def main():
    udp_server = socket(AF_INET, SOCK_DGRAM)
    udp_server.bind(ADDR)
    p = Process(target=do_request, args=(udp_server,), daemon=True)
    p.start()
    # 父进程发送管理员消息
    while True:
        content = input("管理员消息:")
        if content == "exit":
            break


if __name__ == '__main__':
    main()

为什么启动程序后,主进程正在执行,而子进程一直没有执行呢?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题