• Verticle 1


    Verticle类型
    有三种不同类型的 verticles:

    标准 Verticles
    这些都是最常见和最有用的类型 — — 他们总是使用事件循环线程执行。更多讨论在下一节。

    Worker Verticles
    一个实例是永远不会有多个线程并发执行。

    多线程的worker verticles
    一个实例可以由多个线程同时执行。

    标准 verticles
    标准verticles当创建和调用start方法时分配一个event loop。调用执行都在相同的event loop上。

    这意味着我们可以保证您的verticles实例中的所有代码总是都执行相同的事件循环上 (只要你不调用它自己创建的线程!)。

    这意味着可以在程序里作为单线程编写所有的代码,把担心线程和扩展的问题交给Vert.x。没有更多令人担忧的同步和更多不稳定的问题,也避免了多线程死锁的问题。

    Worker verticles
    Worker verticles就像标准的verticles一样,但不使用事件循环执行,从 Vert.x worker线程池使用一个线程。

    worker verticles 专为调用阻塞的代码,因为他们不会阻止任何事件循环。

    如果你不想使用worker verticles运行阻塞的代码,可以在事件循环上直接运行内联阻塞代码。

    如果您要以worker verticles的方式部署verticle,需要调用 setWorker.

    DeploymentOptions options = new DeploymentOptions().setWorker(true);
    vertx.deployVerticle("com.mycompany.MyOrderProcessorVerticle", options);
    Worker verticle实例永远不会有多个线程并发执行 ,但可以在不同的时间由不同的线程执行。

    多线程Worker verticles
    多线程的worker verticle就像正常worker verticle,但它是可以由不同的线程同时执行。

    警告! 多线程的worker verticle 是一项高级的功能,大多数应用程序会对他们来说没有必要。因为在这些 verticles 并发,你必须非常小心,使用标准的 Java 技术的多线程编程,以保持verticle一致状态。

  • 相关阅读:
    centos7 hbase 搭建笔记
    【转】python 2.6.6升级到python 2.7.x版本的方法
    centos7 sqoop 1 搭建笔记
    centos7 hive + 远程mysql 搭建笔记
    docker 批量操作容器
    centos7 hdfs yarn spark 搭建笔记
    【转】mysql查看表空间占用情况
    【转】Centos 7 修改主机名hostname
    jQuery选择
    jQuery检查复选框是否被选
  • 原文地址:https://www.cnblogs.com/ukzq/p/13743185.html
Copyright © 2020-2023  润新知