does Scheduler
ThreadPoolScheduler
具有它维护的线程数量范围,并且它在这些线程中分配工作。当尚未达到线程上限并且有待处理的工作时,它会生成新线程来处理工作。
方法§
new§
method new(Int : = 0, Int : = 8 * Kernel.cpu-cores)
使用给定的线程范围创建一个新的 ThreadPoolScheduler
对象以进行维护。
:initial_threads
的默认值为 0,因此在默认情况下创建 ThreadPoolScheduler
对象时不会启动任何线程。
:max_threads
的默认值为 64,除非似乎有超过 8 个可用 CPU 内核。在这种情况下,默认值将是 CPU 内核数量的 8 倍。
另请参阅 RAKUDO_MAX_THREADS 环境变量以设置默认最大线程数。
从 Rakudo 编译器的 2022.06 版本开始,还可以将 Inf
或 *
指定为 :max_threads
的值,表示将使用操作系统允许的最大线程数。