我有一个现有的ISchedulingRule
,如果对它们应用了以下ISchedulingRule
,则只允许安排一种类型的线程:
import org.eclipse.core.runtime.jobs.ISchedulingRule;
public class Mutex implements ISchedulingRule {
public boolean contains(ISchedulingRule rule) {
return (rule == this);
}
public boolean isConflicting(ISchedulingRule rule) {
return (rule == this);
}
}
如何将此规则扩展为一次允许n-Threads?我已经尝试使用静态变量来跟踪正在运行的实例计数,但是当我尝试做这样的事情时
public boolean isConflicting(ISchedulingRule rule) {
return instancesCount>4;
}
我得到一个例外,这不是反身。我完全清楚数学语境中反身意味着什么,但我很难将这些知识应用于调度规则。因此,如果你能指出我正确的方向,那将非常感激:)