Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Evolving Clojure with Virtual Threads

Java via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore how Clojure's core.async library is evolving to leverage Java virtual threads while maintaining backward compatibility and the same CSP concurrency semantics. Learn about the original implementation that transformed code into state machines via the `go` macro, enabling Go-style channel operations like `!`, and `alt!` as expressions rather than statements, which allowed asynchronous workflows without a central coordinator but required maintaining two complex versions of the Clojure analyzer. Discover the new virtual threads-based implementation that preserves the existing API while simplifying the underlying architecture and better differentiating semantic workload categories for compute, I/O, and mixed operations. Examine the design decisions behind supporting both implementations simultaneously and the strategies used to ensure seamless backward compatibility. Delve into the new core.async.flow framework that builds upon these improvements to provide process execution on top of pure functions operating on immutable message data, with topology management, lifecycle control, communication handling, monitoring capabilities, and comprehensive error handling support running on workload-appropriate threads.

Syllabus

Evolving Clojure with Virtual Threads #JVMLS

Taught by

Java

Reviews

Start your review of Evolving Clojure with Virtual Threads

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.