网站双语怎么做,海口 做网站,能浏览外国网页的浏览器,建设商场黄金网站102019-06-16 15:39:41 08:00NoAnyLove 好的好的#xff0c;我查了下#xff0c;说 IPC 或向 worker 参数传递的东西必须要能 pickle#xff0c;不然就报错#xff0c;那就是 select.epoll 是不支持的。error#xff1a;TypeError: cant pickle select.epoll objects。代码…102019-06-16 15:39:41 08:00NoAnyLove 好的好的我查了下说 IPC 或向 worker 参数传递的东西必须要能 pickle不然就报错那就是 select.epoll 是不支持的。errorTypeError: cant pickle select.epoll objects。代码大致如下def listenProcess(serverSocket):process_num 2*cpu_count()# 设置进程池、消息队列po Pool(process_num)q Manager().Queue() #ipc 方法 1mManager() # ipc 方法 2epoll_fd select.epoll()epoll_fd.register(serverSocket.fileno(), select.EPOLLIN)# 保存中间数据connections {}addresses {}while True:epoll_list epoll_fd.poll()for fd, events in epoll_list:print(fd is:%s events is%s%(fd,events))if fd serverSocket.fileno():conn, addr serverSocket.accept()conn.setblocking(False)epoll_fd.register(conn.fileno(), select.EPOLLIN | select.EPOLLET )connections[conn.fileno()] connaddresses[conn.fileno()] addrelif events select.EPOLLIN:# q.put(connections[fd])po.apply_async(workProcess4In,args(connections[fd],epoll_fd,))elif events select.EPOLLOUT:# q.put(fd)# dm.dict({epollfd:epoll_fd,fd:fd})po.apply_async(workProcess4Out,(connections[fd,epoll_fd],))po.close()po.join()def workProcess4In(conn,epollfd):#print(epoll is:%s%epollfd)#执行读操作遇到 eagain 就 modify 状态 outepollfd.modify(conn.fileno(), select.EPOLLET | select.EPOLLOUT)执行结果不执行 workProcess4In如果把 epoll_fd 换成其他则没问题请教 dalao主进程需要如何才能把 epoll_fd 传过去。