X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.utils.thread%2Fsrc%2Forg%2Fsimantics%2Futils%2Fthreads%2FThrottler.java;h=343b7c6e7babd2f3dc8352ff41df8e028a5470b5;hp=1f6068a86fa6e7e0331b7baa32a52cd0d7ea2248;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.utils.thread/src/org/simantics/utils/threads/Throttler.java b/bundles/org.simantics.utils.thread/src/org/simantics/utils/threads/Throttler.java index 1f6068a86..343b7c6e7 100644 --- a/bundles/org.simantics.utils.thread/src/org/simantics/utils/threads/Throttler.java +++ b/bundles/org.simantics.utils.thread/src/org/simantics/utils/threads/Throttler.java @@ -1,95 +1,95 @@ -/******************************************************************************* - * Copyright (c) 2012 Association for Decentralized Information Management in - * Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.utils.threads; - -import java.util.concurrent.TimeUnit; - -/** - * @author Antti Villberg - */ -public class Throttler implements Runnable { - - final private IThreadWorkQueue thread; - final private int interval; - - private boolean isScheduling = false; - - private long[] dispatchTimes; - private long lastQueueTime; - - private int dispatchTimePointer = 0; - - private Runnable todo; - - public Throttler(IThreadWorkQueue thread, int interval, int queueLength) { - - this.thread = thread; - this.interval = interval; - - long currentTime = System.currentTimeMillis(); - - dispatchTimes = new long[queueLength]; - for(int i=0;i