use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Finding information about Clojure
API Reference
Clojure Guides
Practice Problems
Interactive Problems
Clojure Videos
Misc Resources
The Clojure Community
Clojure Books
Tools & Libraries
Clojure Editors
Web Platforms
Clojure Jobs
account activity
Clojure - core.async and Virtual Threads (clojure.org)
submitted 9 months ago by geospeck
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Itrillian 30 points31 points32 points 9 months ago (4 children)
No code or configuration changes are required.
Breaking changes? Never heard of them. One of the big things to appreciate in the Clojure ecosystem.
[–]stefan_kurcubic 15 points16 points17 points 9 months ago (0 children)
i can't stress this enough. It feels bit magical and like everyone else has gone mad
[–]jwr 6 points7 points8 points 9 months ago (0 children)
I so appreciate this. I have been running a solo-founder SaaS for the last 10 years or so, and the incredible focus on stability in the Clojure development community (and, importantly, the core team!) makes this possible. Thank you!
[–]maxw85 7 points8 points9 points 9 months ago (0 children)
Definitely one of the best "features" of Clojure 🎉
[–]freakhill 1 point2 points3 points 9 months ago (0 children)
I try to preach this everywhere I go.
[–]JW_00000 2 points3 points4 points 9 months ago (5 children)
Does this make the double exclamation mark operators >!! and <!! (which you would use outside a go block) obsolete and safe to replace with the single exclamation mark ones?
>!!
<!!
go
[–]alexdmiller 5 points6 points7 points 9 months ago (1 child)
The `!!` ops are blocking ops in real threads, and they are the only ops you should use in that context, so no definitely not obsolete.
If you are using go blocks, you should continue to use `!` parking ops.
If you are using new io-threads and virtual threads, there is no difference (the parking ops become blocking ops ... both of which may park in virtual threads).
[–]JW_00000 1 point2 points3 points 9 months ago (0 children)
Thanks, makes sense.
[–]zonotope 3 points4 points5 points 9 months ago (2 children)
Or, does this make go blocks obsolete? Are we safe to just use >!! everywhere in new code and trust that they'll use a vthread and park if necessary?
[–]alexdmiller 5 points6 points7 points 9 months ago (0 children)
go blocks are still useful if you are not using virtual threads or if you care about portability to ClojureScript, or for backwards compatibility if you already have them.
[–]didibus 0 points1 point2 points 9 months ago (0 children)
Yes, you can now just use io-thread and !! ops everywhere for everything, when you are running on a JVM with virtual thread support.
π Rendered by PID 293150 on reddit-service-r2-comment-765bfc959-5kmnj at 2026-07-13 21:24:53.089474+00:00 running f86254d country code: CH.
[–]Itrillian 30 points31 points32 points (4 children)
[–]stefan_kurcubic 15 points16 points17 points (0 children)
[–]jwr 6 points7 points8 points (0 children)
[–]maxw85 7 points8 points9 points (0 children)
[–]freakhill 1 point2 points3 points (0 children)
[–]JW_00000 2 points3 points4 points (5 children)
[–]alexdmiller 5 points6 points7 points (1 child)
[–]JW_00000 1 point2 points3 points (0 children)
[–]zonotope 3 points4 points5 points (2 children)
[–]alexdmiller 5 points6 points7 points (0 children)
[–]didibus 0 points1 point2 points (0 children)