加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – vert.x是如何单线程的?

发布时间:2020-05-25 00:42:17 所属栏目:Java 来源:互联网
导读:根据我的理解,每个vert.x实例都将被分配一个事件循环.事件循环处理该特定实例的所有请求和其他任务.我想,事件循环是一个主题.当部署了多个vert.x实例时,每个实例都有自己的事件循环吗?这意味着存在多个线程(多线程).这就是我的理解.这种单线程概念让我非常头

根据我的理解,每个vert.x实例都将被分配一个事件循环.事件循环处理该特定实例的所有请求和其他任务.我想,事件循环是一个主题.当部署了多个vert.x实例时,每个实例都有自己的事件循环吗?这意味着存在多个线程(多线程).这就是我的理解.这种单线程概念让我非常头疼.任何帮助将不胜感激.

解决方法

Vert.x不像node.js那样是单线程的. 在vert.x中,您必须区分Verticles和WorkerVerticles.一个Vert.x实例将创建多个事件循环(它们是线程),通常每个CPU核心一个. Verticle将被分配给一个事件循环,并且将始终由同一个线程执行,但前提是有工作要做. WorkerVerticles将被分配给来自工作池的线程,并且可以由不同的线程执行. 使Vert.x编程变得有趣的事实是你可以“假装”它是单线程的.您不必关心并发性,因为您无法在Verticle之间共享变量.每个Verticle都在自己的类加载器中运行,您只能通过事件总线共享数据. (还有一张共享地图,但在这种情况下会分散注意力.)

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读