嘿,伙计们,我正在创建一个应用程序,接受来自用户的请求。服务器端的主类是控制器。我在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}$简而言之,我创建了一个线程,它试图创建多个进程,但是代码失败了。在
目前没有回答
相关问题 更多 >
编程相关推荐