本文介绍了如何使用 Clojure 的 core.async 库构建一个简单的异步任务系统。作者首先解释了选择轻量级方案的原因,并介绍了任务的数据模型和状态机。然后,文章详细讲解了如何使用函数表示状态机,以及如何使用 core.async 的线程和通道来处理任务。最后,作者展示了如何启动、重启和加载任务,并强调了 core.async 在多线程环境下共享状态的特性。