diff --git a/project.clj b/project.clj index 46cf6e7..d0c36f5 100644 --- a/project.clj +++ b/project.clj @@ -9,4 +9,5 @@ :repl-options {:init-ns ludus.core} :main ludus.core :profiles {:uberjar {:aot :all}} + :jvm-opts ["--enable-preview"] ) diff --git a/src/ludus/process.clj b/src/ludus/process.clj index 02ba03f..977c60b 100644 --- a/src/ludus/process.clj +++ b/src/ludus/process.clj @@ -1,6 +1,16 @@ (ns ludus.process (:require - [ludus.data :as data])) + [ludus.data :as data]) + (:import (java.util.concurrent Executors))) + +(defn thread-factory [name] + (-> (Thread/ofVirtual) + (.name name 0) + (.factory))) + +(set-agent-send-off-executor! + (Executors/newThreadPerTaskExecutor + (thread-factory "ludus-vthread-"))) (def processes (atom {}))