枚举类 ExecutorSelectEnum

java.lang.Object
java.lang.Enum<ExecutorSelectEnum>
com.iohao.game.action.skeleton.kit.ExecutorSelectEnum
所有已实现的接口:
Serializable, Comparable<ExecutorSelectEnum>, Constable

public enum ExecutorSelectEnum extends Enum<ExecutorSelectEnum> implements Serializable
执行器选择枚举
     具体阅读参考 DefaultRequestMessageClientProcessorHook 相关源码

     可将枚举设置到 
引用无效
HeadMetadata#setExecutorSelect(ExecutorSelectEnum)
中。框架会在执行 action 前,根据 ExecutorSelectEnum 值来选择对应的执行器。 当为 null 或 userExecutor 时,使用 ExecutorRegion.getUserThreadExecutorRegion() 策略,该策略【保证线程安全】 该策略可以确保同一玩家的 action 请求在同一线程执行器中执行。 当为 userVirtualExecutor 时,使用 ExecutorRegion.getUserVirtualThreadExecutorRegion() ()} 策略,该策略【不保证线程安全】 该策略使用虚拟线程执行 action 请求,如果你能确定你的某些 action 执行较为耗时,且不需要保证线程的,可以使用该策略。 当为 currentThread 时,不使用任何线程执行器,而是在 netty 线程中执行 action 请求;该策略【不保证线程安全】 (具体可阅读 RequestMessageClientProcessor、DefaultRequestMessageClientProcessorHook 相关源码) customExecutor 则是预留给开发者的,如果框架提供的以上策略都满足不了业务的,可以考虑扩展 RequestMessageClientProcessorHook 接口 关于扩展可以参考 ioGame 线程相关文档
作者:
渔民小镇
另请参阅:
日期:
2023-12-19
  • 枚举常量详细资料

  • 方法详细资料

    • values

      public static ExecutorSelectEnum[] values()
      返回包含该枚举类的常量的数组, 顺序与声明这些常量的顺序相同
      返回:
      包含该枚举类的常量的数组,顺序与声明这些常量的顺序相同
    • valueOf

      public static ExecutorSelectEnum valueOf(String name)
      返回带有指定名称的该类的枚举常量。 字符串必须与用于声明该类的枚举常量的 标识符完全匹配。(不允许有多余 的空格字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      返回带有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果该枚举类没有带有指定名称的常量
      NullPointerException - 如果参数为空值