blob: e8b89812e3abdab658511e95b1c7e884692398be [file] [log] [blame]
// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.utils.threads;
import com.android.tools.r8.utils.Timing;
public interface ThreadTask {
void run(Timing timing) throws Exception;
default void runWithRuntimeException(Timing timing) {
try {
run(timing);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
default void onJoin() {}
default boolean shouldRun() {
return true;
}
default boolean shouldRunOnThread() {
return true;
}
}