Python:\u MainThread'对象没有属性''u state'

2024-04-23 17:26:55 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,伙计们,我正在创建一个应用程序,接受来自用户的请求。服务器端的主类是控制器。我在init期间生成一个线程,它一直在积极地监听来自客户端的请求(我需要在这里生成一个线程)在

一旦我收到一个请求,我就会查看请求的类型并调用一个函数来处理它。在

在这个功能中,我想创建多个进程来有效地利用我的8个核心。在

这是代码:-在

class Controller(app_manager.RyuApp):
    OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]

    def __init__(self, *args, **kwargs):
        self.datapaths={}
        self.monitor_thread=hub.spawn(self._monitor)
        super(Controller, self).__init__( *args, **kwargs)

    def _monitor(self):
        global connstream   
        while True:
            #Get Connection from client

            data = connstream.read(15000)
            data=eval(data)
            print "Recieved a request from the client:-",data
            for key,value in data.iteritems():
                type=int(key)
                request=value
                if type==4:
                    self.get_route(type,request,connstream)


    def get_route(self,type,request,connection):
            global get_route_result
            cities=request['Cities']
            number_of_cities=request['Number_of_Cities']
            city_count=0
            processes=[]
            pool = mp.Pool(processes=8)
            for city,destination_ip in cities.iteritems():
                 args=(type,destination_ip)
                 processes.append(args)
                 city_count=city_count+1
                 if city_count==number_of_cities:
                      break 
            pool.map(self.get_route_process,processes)  




    def get_route_process(self,HOST,destination):
          #Do Something

但我得到的错误是:

^{pr2}$

简而言之,我创建了一个线程,它试图创建多个进程,但是代码失败了。在


Tags: selfcitydatagetinitrequestdeftype