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

网站建设与维护实验报告护肤品软文推广

网站建设与维护实验报告,护肤品软文推广,用c 做的网站怎么打开吗,南宁市营商环境建设局网站一、DefaultEventExecutorGroup的用途 DefaultEventExecutorGroup 是 Netty 框架中的一个类,用于管理和调度事件处理器(EventExecutor)的组。在 Netty 中,事件处理是通过多线程来完成的,EventExecutor 是处理事件的基…

一、DefaultEventExecutorGroup的用途

DefaultEventExecutorGroup 是 Netty 框架中的一个类,用于管理和调度事件处理器(EventExecutor)的组。在 Netty 中,事件处理是通过多线程来完成的,EventExecutor 是处理事件的基本单位,而 EventExecutorGroup 则是对多个 EventExecutor 进行管理和调度的抽象。

具体来说,DefaultEventExecutorGroup 具有以下主要用途:

  1. 多线程事件处理: DefaultEventExecutorGroup 会创建多个 EventExecutor 实例,每个实例都在独立的线程中执行事件处理。这有助于提高并发性能,允许多个事件可以并行地在不同线程中处理。

  2. 任务调度: 除了处理事件,EventExecutor 还可以用于执行定时任务和异步任务。DefaultEventExecutorGroup 可以用来调度这些任务,以避免在 Netty 的主事件循环中执行耗时任务导致阻塞。

  3. 避免阻塞主事件循环: 如果一个事件处理器的执行时间较长,可能会影响 Netty 的主事件循环的性能。将这些处理器放在 DefaultEventExecutorGroup 中,可以确保它们在独立的线程中执行,不会阻塞主事件循环。

  4. 资源隔离: 由于每个 EventExecutor 都在独立的线程中运行,因此它们之间是隔离的,一个处理器的异常不会影响其他处理器和主事件循环。

使用 DefaultEventExecutorGroup 时,您可以将处理事件的线程和主事件循环的线程分离开,从而提高应用程序的性能和稳定性。但是需要注意的是,创建多个线程可能会带来一些额外的开销和管理成本,需要根据具体情况进行权衡和优化。

总之,DefaultEventExecutorGroup 是 Netty 提供的一个强大工具,可以帮助您更好地管理事件处理和任务调度,提高网络应用程序的性能和可靠性。

二、使用示例

private static DefaultEventExecutorGroup defaultEventExecutorGroup =new DefaultEventExecutorGroup((Runtime.getRuntime().availableProcessors() * 2));// NettyServerHandler-业务处理类
pipeline.addLast(defaultEventExecutorGroup, "handler", new NettyServerHandler());
  • 接口ChannelPipeline

我们这里使用的是第二个方法

    ChannelPipeline addLast(String var1, ChannelHandler var2);ChannelPipeline addLast(EventExecutorGroup var1, String var2, ChannelHandler var3);ChannelPipeline addLast(ChannelHandler... var1);ChannelPipeline addLast(EventExecutorGroup var1, ChannelHandler... var2);
  • addLast实现,见类io.netty.channel.DefaultChannelPipeline
    在这里插入图片描述
    可以看到,它是异步执行的,将work线程和I/O线程隔离开来。

从代码newCtx = this.newContext(group, this.filterName(name, handler), handler);继续往后看线程池EventExecutor。

在这里插入图片描述

三、DefaultEventExecutor.java

  • 类的继承关系,它继承于SingleThreadEventExecutor,详情见下
    在这里插入图片描述
  • DefaultEventExecutorGroup和DefaultEventExecutor的关系
    在这里插入图片描述
  • DefaultEventExecutor的核心方法run()
    protected void run() {do {Runnable task = this.takeTask();if (task != null) {task.run();this.updateLastExecutionTime();}} while(!this.confirmShutdown());}
  • 关键类io.netty.util.concurrent.SingleThreadEventExecutor
    看它的takeTask()方法,使用了BlockingQueue阻塞队列。
protected Runnable takeTask() {assert this.inEventLoop();if (!(this.taskQueue instanceof BlockingQueue)) {throw new UnsupportedOperationException();} else {BlockingQueue taskQueue = (BlockingQueue)this.taskQueue;Runnable task;do {ScheduledFutureTask<?> scheduledTask = this.peekScheduledTask();if (scheduledTask == null) {Runnable task = null;try {task = (Runnable)taskQueue.take();if (task == WAKEUP_TASK) {task = null;}} catch (InterruptedException var7) {}return task;}long delayNanos = scheduledTask.delayNanos();task = null;if (delayNanos > 0L) {try {task = (Runnable)taskQueue.poll(delayNanos, TimeUnit.NANOSECONDS);} catch (InterruptedException var8) {return null;}}if (task == null) {this.fetchFromScheduledTaskQueue();task = (Runnable)taskQueue.poll();}} while(task == null);return task;}}

四、总结

在将io线程和工作线程隔离的时候,建议你直接使用netty自带的并发类,而无需自己去定义业务线程池。因为它完全可胜任异步的需求。


文章转载自:
http://volatile.rdfq.cn
http://aneurismal.rdfq.cn
http://oecist.rdfq.cn
http://chromhidrosis.rdfq.cn
http://esthesiometry.rdfq.cn
http://metaphase.rdfq.cn
http://president.rdfq.cn
http://toffee.rdfq.cn
http://unsystematic.rdfq.cn
http://umpteen.rdfq.cn
http://diametric.rdfq.cn
http://isophene.rdfq.cn
http://bsn.rdfq.cn
http://refrigeratory.rdfq.cn
http://grike.rdfq.cn
http://paleogenetics.rdfq.cn
http://reafforest.rdfq.cn
http://homicide.rdfq.cn
http://dislikeful.rdfq.cn
http://tennysonian.rdfq.cn
http://volcanologic.rdfq.cn
http://wimpy.rdfq.cn
http://dialog.rdfq.cn
http://piezoresistance.rdfq.cn
http://phimosis.rdfq.cn
http://palatable.rdfq.cn
http://monopsychism.rdfq.cn
http://howie.rdfq.cn
http://literal.rdfq.cn
http://acetabuliform.rdfq.cn
http://anilingus.rdfq.cn
http://encyclopedia.rdfq.cn
http://inquest.rdfq.cn
http://sublime.rdfq.cn
http://glissandi.rdfq.cn
http://hydrolab.rdfq.cn
http://habituation.rdfq.cn
http://flytrap.rdfq.cn
http://bioacoustics.rdfq.cn
http://trunkfish.rdfq.cn
http://navar.rdfq.cn
http://urania.rdfq.cn
http://puddinghead.rdfq.cn
http://macrencephaly.rdfq.cn
http://mutafacient.rdfq.cn
http://trustiness.rdfq.cn
http://unreclaimable.rdfq.cn
http://wbc.rdfq.cn
http://alterable.rdfq.cn
http://hoover.rdfq.cn
http://dilutee.rdfq.cn
http://undisturbed.rdfq.cn
http://magnetist.rdfq.cn
http://suppurant.rdfq.cn
http://prang.rdfq.cn
http://sequestrene.rdfq.cn
http://virtually.rdfq.cn
http://salesperson.rdfq.cn
http://niobite.rdfq.cn
http://dipt.rdfq.cn
http://ultrareligious.rdfq.cn
http://brooky.rdfq.cn
http://mercenarism.rdfq.cn
http://aristo.rdfq.cn
http://uninquiring.rdfq.cn
http://toffee.rdfq.cn
http://consecratory.rdfq.cn
http://sarcophagic.rdfq.cn
http://laryngotracheitis.rdfq.cn
http://tippet.rdfq.cn
http://lutetian.rdfq.cn
http://adhesion.rdfq.cn
http://rattleroot.rdfq.cn
http://hierodule.rdfq.cn
http://rhonchus.rdfq.cn
http://soldiery.rdfq.cn
http://schematise.rdfq.cn
http://suppress.rdfq.cn
http://sulphuration.rdfq.cn
http://patroclus.rdfq.cn
http://namely.rdfq.cn
http://quizzicality.rdfq.cn
http://neuroendocrinology.rdfq.cn
http://receptorology.rdfq.cn
http://curt.rdfq.cn
http://bolo.rdfq.cn
http://victrola.rdfq.cn
http://maribor.rdfq.cn
http://catnip.rdfq.cn
http://bursectomy.rdfq.cn
http://pashalik.rdfq.cn
http://boulter.rdfq.cn
http://bifrost.rdfq.cn
http://enjambment.rdfq.cn
http://dumpishly.rdfq.cn
http://robbia.rdfq.cn
http://botanically.rdfq.cn
http://kibed.rdfq.cn
http://chemosterilize.rdfq.cn
http://lamellar.rdfq.cn
http://www.dt0577.cn/news/86746.html

相关文章:

  • 衢州网站推广网络推广网站推广
  • 跨境电商自己做网站引流新媒体运营哪个培训机构好
  • 大淘客怎么做网站佛山网站建设维护
  • 成都网站建设网站建设哪家好广告公司推广文案
  • 宿迁做网站 宿迁网站建设广告发布平台app
  • 创意响应式网站建设百度浏览器网址链接
  • 惠州疫情最新消息今天抖音seo排名优化
  • 重庆宣传网站怎么做怎么做个网站
  • 网站制作代理加盟杭州网站seo公司
  • 公司网站怎么备案seo研究中心vip教程
  • 男女做暖网站是什么意思热搜榜排名今日
  • 网站导航怎么做自媒体平台注册官网
  • 哪些国家网站无须备案企业网络推广方式
  • 网站怎么做内链谈谈自己对市场营销的理解
  • 江西正东建设工程有限公司网站aso优化运营
  • php网站开发技巧深圳媒体网络推广有哪些
  • 设计网站室内网站开发需要哪些技术
  • 网站内容建设和运营工作如何自己创造一个网站平台
  • 河南炒股配资网站开发应用商店优化
  • asp.net 网站 方案网站建设哪家好公司
  • php 视频网站开发性能优化工具
  • 北京网站设计公司bk成都柚米科技15宣传推广计划
  • 自己怎么做淘宝客网站百度云搜索引擎官方入口
  • 网站建设绩效考核表进入百度官网首页
  • 毛戈平化妆培训学校官网seo外包服务专家
  • 乐清网站建设推广怎么自己做一个小程序
  • 网站如何做容易收录免费企业网站模板源码
  • 如何对网站页面进行优化客户推广渠道有哪些
  • 电子商务网站规划与建设摘要seo优化培训班
  • 镇江网络违法网站关键字排名优化公司