当前位置: 首页 > news >正文

商标大全 logo济南网络seo公司

商标大全 logo,济南网络seo公司,拱墅网站建设,简单个人网站制作责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理它为止。在Python中,你可以使用多线程来实现责任链模式的框架。 首先,你需要定义一个基础的处理者类,它包含处理请求的方…

责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理它为止。在Python中,你可以使用多线程来实现责任链模式的框架。

首先,你需要定义一个基础的处理者类,它包含处理请求的方法。然后,你可以创建多个继承自该基础类的具体处理者类,每个类都负责处理不同类型的请求。在处理请求时,每个处理者可以决定是自己处理请求还是将其传递给下一个处理者。

import threading
import queueclass Handler(threading.Thread):def __init__(self, name, successor=None):super().__init__(name=name)self.successor = successorself.queue  = queue.Queue()# self.flag = Truedef handle_request(self,request):passdef run(self):while self.flag:request = self.queue.get()self.handle_request(request)self.queue.task_done()print('finished')class ConcreteHandlerA(Handler):def __init__(self, name, successor=None):super().__init__(name=name)self.flag = Truedef handle_request(self, request):if request == 'A':print("ConcreteHandlerA handles the request: {}".format(request))elif self.successor is not None:self.successor.handle_request(request)def run(self):while self.flag:try:request = self.queue.get(timeout=0.1)except:continueself.handle_request(request)self.queue.task_done()print('A finished')class ConcreteHandlerB(Handler):def __init__(self, name, successor=None):super().__init__(name=name)self.flag = Truedef handle_request(self, request):if request == 'B':print("ConcreteHandlerB handles the request: {}".format(request))elif self.successor is not None:self.successor.handle_request(request)def run(self):while self.flag:try:request = self.queue.get(timeout=0.1)except:continueif request:self.handle_request(request)self.queue.task_done()print('B finished')class ConcreteHandlerC(Handler):def __init__(self, name, successor=None):super().__init__(name=name)self.flag = Truedef handle_request(self, request):if request == 'C':print("ConcreteHandlerC handles the request: {}".format(request))elif self.successor is not None:self.successor.handle_request(request)def run(self):while self.flag:try:request = self.queue.get(timeout=0.1)except:continueif request:self.handle_request(request)self.queue.task_done()print('C finished')# 创建处理者实例并构建处理者链
handlerA = ConcreteHandlerA(name='HandlerA')
handlerB = ConcreteHandlerB(name='HandlerB', successor=handlerA)
handlerC = ConcreteHandlerC(name='HandlerC', successor=handlerB)# 启动处理者线程
handlerA.start()
handlerB.start()
handlerC.start()# 向处理者链发送请求
handlerC.queue.put('A')
handlerC.queue.put('B')
handlerC.queue.put('C')# 等待所有请求处理完成
handlerC.flag = False
handlerB.flag = False
handlerA.flag = False
http://www.yidumall.com/news/38798.html

相关文章:

  • sql 新建网站专注于网站营销服务
  • 网站搭建论文竞价托管的注意事项
  • 如何做视频卖给网站人员优化是什么意思
  • 在小说网站做责编沈阳网站优化
  • 石景山网站制作手机免费发布信息平台
  • 目前做网站数据分析师报考条件
  • 微信平台的微网站怎么做百度在全国有哪些代理商
  • 门户和网站的区别产品软文范例100字
  • 宝格丽网站建设策划案seo同行网站
  • 学校网站建设申请永久不收费免费的聊天软件
  • 网站素材类型地推公司排名
  • 网上服装商城网站代码最好的网站推广软件
  • 网站开发可选择的方案有哪些一级域名好还是二级域名好
  • 国外还有那种做电商的网站apple日本网站
  • 企业网站建设备案都需要什么百度秒收录排名软件
  • 网站建设公司响应式网站模板整站seo教程
  • 口碑最好的it培训机构seo1域名查询
  • 网站内页banner一般做多高百度推广优化是什么?
  • 佛山定制软件开发公司南京百度seo排名
  • wordpress 建多站什么平台可以做引流推广
  • 企业网站维护与销售网络推广公司联系方式
  • 厦门市住房与城乡建设局网站石家庄百度快照优化
  • 网站建设的指导书朝阳区seo
  • soso搜搜网站收录提交入口免费百度广告怎么投放
  • 网站建设及推广人员高级seo课程
  • 男女做羞羞事图片大全动态网站百度有专做优化的没
  • vue.js2.5 pc网站开发公司网站
  • 微信小程序一站式开发南宁seo主管
  • 我的网站搜索不到了市场调研方法有哪些
  • 山西网站建设价格app推广方法