From 93dce733be28121f931dc0e89c85cd378b805aed Mon Sep 17 00:00:00 2001 From: Ovi Stoica Date: Mon, 22 Jun 2026 06:47:19 +0300 Subject: [PATCH] feat: Support older java versions, preserving functionality --- packages/kmono-core/src/k16/kmono/core/thread.clj | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/kmono-core/src/k16/kmono/core/thread.clj b/packages/kmono-core/src/k16/kmono/core/thread.clj index 409ef26..264089c 100644 --- a/packages/kmono-core/src/k16/kmono/core/thread.clj +++ b/packages/kmono-core/src/k16/kmono/core/thread.clj @@ -6,8 +6,13 @@ (set! *warn-on-reflection* true) +(defmacro ^:private default-executor [] + (if (>= (.feature (Runtime/version)) 21) + `(Executors/newVirtualThreadPerTaskExecutor) + `(Executors/newCachedThreadPool))) + (def ^:dynamic ^:private *executor* - (Executors/newVirtualThreadPerTaskExecutor)) + (default-executor)) (defmacro vthread [& body] `(let [^Callable fn# (bound-fn [] ~@body)]