文件名称:lasync:使执行程序服务更困难
文件大小:8KB
文件格式:ZIP
更新时间:2024-02-23 05:09:41
java clojure concurrency back-pressure ClojureClojure
有限异步 由或支持的执行程序服务(又名智能线程池)。 为什么 该库的目的是在达到q任务限制时就能够阻止“ .submit ” /“ .execute ”。 这是为什么。 如果使用常规的则ThreadPoolExecutor调用不会阻塞的队列的“ ”方法:插入任务并返回true,或者在队列“容量受限”且达到其容量的情况下返回false。 尽管此行为很有用,但在某些情况下,我们确实需要阻止并等待,直到ThreadPoolExecutor具有可用于执行任务的线程。 根据使用情况,此背压可能非常有用。 一个原因可能是ThreadPoolExecutor正在读取和处理的堆外存储:例如,不需要,有时甚至完全不希望将JVM堆用于堆外已经可用的东西。 介绍了另一个好的用法。 如何 创建一个线程数有限且支持q限制的池: ( ns sample.project ( :require [lasync.core :as lasync])) ( def pool ( lasync/pool )) 差不多了。 池是常规的 ,可以向其提交任务: ( .submit pool #( + 41 1 )
【文件预览】:
lasync-master
----src()
--------lasync()
--------java()
----doc()
--------intro.md(124B)
----test()
--------lasync()
----README.md(6KB)
----project.clj(702B)
----.gitignore(154B)
----dev()
--------show.clj(672B)