国产探花免费观看_亚洲丰满少妇自慰呻吟_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)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 勐海县| 祁门县| 菏泽市| 阿尔山市| 盐城市| 航空| 柳江县| 留坝县| 陕西省| 张家港市| 噶尔县| 栖霞市| 吉安县| 郓城县| 谷城县| 武汉市| 延安市| 萨嘎县| 神池县| 科尔| 湖南省| 安岳县| 大关县| 汾阳市| 富阳市| 东乡| 宁陵县| 徐汇区| 诸城市| 金乡县| 金昌市| 安平县| 阳曲县| 牟定县| 舞阳县| 合肥市| 温泉县| 霞浦县| 射洪县| 轮台县| 页游|