国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python高并發異步服務器核心庫forkcore使用方法

2020-02-23 04:58:13
字體:
來源:轉載
供稿:網友

1 拷貝下面的代碼到一個文件,并命名為forkcore.py

代碼如下:
import os
import threading
import select
import socket

class ds_forkcore(object):

    #async IO(epoll)
    def ds_epoll(self):
        epoll=select.epoll()
        epoll.register(self.s.fileno(),select.EPOLLIN|select.EPOLLET)
        while 1:
            epoll_list=epoll.poll()
            for fd,_events in epoll_list:
                if fd==self.s.fileno():
                    conn,addr=self.s.accept()
                    print "Current process's pid is "+str(os.getpid())
                    self.worker(conn,addr)

    #multi_thread
    def ds_thread(self,thread_num=100):
        for _ in range(0,thread_num):
            t=threading.Thread(target=self.ds_epoll)
            t.setDaemon(1)
            t.start()
            t.join()

    #multi_process
    def ds_process(self,child_process_num=8):
        pid=os.getpid()
        print "Main process start, pid is "+str(pid)
        for _ in range(0,child_process_num):
            if pid==os.getpid():
                if os.fork():
                    pass
                else:
                    print "Worker process start, pid is "+str(os.getpid())
                    self.ds_thread()

    #init function
    def __init__(self,worker,port=3333):
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大竹县| 方城县| 大兴区| 门头沟区| 逊克县| 屯留县| 德化县| 阿勒泰市| 南城县| 石柱| 嫩江县| 五大连池市| 石台县| 怀宁县| 乐安县| 宁安市| 张家口市| 湘阴县| 上栗县| 精河县| 道真| 嫩江县| 南澳县| 额尔古纳市| 江油市| 长汀县| 庆阳市| 黄大仙区| 内丘县| 吴桥县| 博野县| 汉中市| 天祝| 大邑县| 攀枝花市| 万山特区| 扬中市| 县级市| 三门县| 夏邑县| 尤溪县|