设置ISchedulingRule以允许一次使用n-Threads

时间:2016-07-19 07:36:58

标签: java multithreading scheduling

我有一个现有的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;
        }

我得到一个例外,这不是反身。我完全清楚数学语境中反身意味着什么,但我很难将这些知识应用于调度规则。因此,如果你能指出我正确的方向,那将非常感激:)

0 个答案:

没有答案