alibaba / jetcache

JetCache is a Java cache framework.
Apache License 2.0
5.09k stars 1.05k forks source link

ScheduledExecutorService use virtual thread #829

Closed zt9788 closed 1 year ago

zt9788 commented 1 year ago

jdk21的时候默认使用虚拟线程

这个pr @areyouok 你评估一下, 如果不需要直接关闭就可以了

areyouok commented 1 year ago

感谢你的工作,我说下我的看法。虚拟线程是很酷的特性,不过,现在JetCacheExecutor在java21下使用虚拟线程不那么急迫,原因是:

  1. defaultExecutor都是执行短平快的任务,只有一个线程,它使用的也很少(除了每分钟执行一次统计以外就是刷错误日志),问题不大。
  2. heavyIOExecutor主要是自动刷新的时候,执行用户代码来加载数据的,这个用户代码是否适合在虚拟线程池中运行,咱也不知道。
  3. JetCacheExecutor有set方法,有需要的话用户可以自己设置executor。

所以这里还是先不要改比较好。

areyouok commented 1 year ago

此外,jetcache-core对spring是可选依赖,如果我们需要改的话,是不能用ReflectUtils的

areyouok commented 1 year ago

再说个题外话,master上的代码是可以在java8~17编译运行的。

目前,对java21的支持没有已知的问题,暂时还没有发布新版本的原因是,不能在java21下完成单元测试,mockito会出现问题。我没有细看,毕竟java21还太新了,周边类库的完善可能还需要一些时间。

zt9788 commented 1 year ago

再说个题外话,master上的代码是可以在java8~17编译运行的。

目前,对java21的支持没有已知的问题,暂时还没有发布新版本的原因是,不能在java21下完成单元测试,mockito会出现问题。我没有细看,毕竟java21还太新了,周边类库的完善可能还需要一些时间。

确实, 周边类库目前常用支持还不太好,常用类库的支持 ,预计最快也要年底了 :(

好的,后续等稳定了在看看~