From b7f0d17afe5e97b7df059dbdb15395239f793b81 Mon Sep 17 00:00:00 2001 From: Scott Richmond Date: Sat, 28 Jan 2023 17:18:09 -0500 Subject: [PATCH] processes use virtual threads --- project.clj | 1 + src/ludus/process.clj | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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 {}))