Package dev.architectury.loom.util
Class ThreadingUtils.TaskCompleter
java.lang.Object
dev.architectury.loom.util.ThreadingUtils.TaskCompleter
- Enclosing class:
ThreadingUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcomplete()intcompleteToleratingFailures(String description) 以 best-effort 语义结束:先complete(),再把收集到的失败按 warn 级别汇总一次.int返回失败的条目数量.failures()返回收集到的失败(best-effort 模式下才有内容).onComplete(ThreadingUtils.UnsafeConsumer<Stopwatch> consumer) 把本 completer 切换为 best-effort 模式:单个任务失败只被收集,不再让complete()上抛.
-
Constructor Details
-
TaskCompleter
public TaskCompleter()
-
-
Method Details
-
tolerateFailures
把本 completer 切换为 best-effort 模式:单个任务失败只被收集,不再让complete()上抛.适用于「成千上万个互不依赖的条目、丢掉个别条目不影响产物整体有效性」的循环; 必须在
add(UnsafeRunnable)之前调用。需要保证产物完整性的循环不要打开它。- Returns:
- 本 completer
-
failures
返回收集到的失败(best-effort 模式下才有内容).- Returns:
- 失败列表,顺序与完成顺序一致
-
failureCount
public int failureCount()返回失败的条目数量.- Returns:
- 失败数量
-
add
-
onComplete
-
completeToleratingFailures
以 best-effort 语义结束:先complete(),再把收集到的失败按 warn 级别汇总一次.汇总使用默认可见的级别,避免「产物少了一些条目」这种事在默认控制台里完全看不见。 注册在
onComplete(UnsafeConsumer)上的清理动作失败仍然会上抛:那属于资源释放失败, 会直接影响产物完整性,不能降级。- Parameters:
description- 被处理对象的描述(例如「被打上注解的 jar」),用于日志- Returns:
- 收集到的失败数量
-
complete
public void complete()
-