美文网首页
Prefork 多进程模型

Prefork 多进程模型

作者: 伍只蚊 | 来源:发表于2018-06-16 15:59 被阅读26次

    转:

    Prefork 就是预先创建好制定数量的进程来接受请求

    t json
    import struct
    import socket
    
    
    def handle_conn(conn, addr, handlers):
        print addr, "comes"
        while True:
            length_prefix = conn.recv(4)
            if not length_prefix:
                print addr, "bye"
                conn.close()
                break  # 关闭连接,继续处理下一个连接
            length, = struct.unpack("I", length_prefix)
            body = conn.recv(length)
            request = json.loads(body)
            in_ = request['in']
            params = request['params']
            print in_, params
            handler = handlers[in_]
            handler(conn, params)
    
    
    def loop(sock, handlers):
        while True:
            conn, addr = sock.accept()
            handle_conn(conn, addr, handlers)
    
    
    def ping(conn, params):
        send_result(conn, "pong", params)
    
    
    def send_result(conn, out, result):
        response = json.dumps({"out": out, "result": result})
        length_prefix = struct.pack("I", len(response))
        conn.send(length_prefix)
        conn.sendall(response)
    
    
    def prefork(n):
        for i in range(n):
            pid = os.fork()
            if pid < 0:  # fo...
    
    https://juejin.im
    掘金 — 一个帮助开发者成长的社区
    

    相关文章

      网友评论

          本文标题:Prefork 多进程模型

          本文链接:https://www.haomeiwen.com/subject/fzsbeftx.html