Hello Sebb, Looking at this commit, it seems to me it changes a little delayBy(...) behaviour:
- in older code, if InterruptedException happened delayBy would exit - in new code, it will be ignored Is this voluntary ? why ? Thanks Regards Philippe On Tue, Aug 14, 2012 at 12:25 PM, <[email protected]> wrote: > Author: sebb > Date: Tue Aug 14 10:25:17 2012 > New Revision: 1372829 > > URL: http://svn.apache.org/viewvc?rev=1372829&view=rev > Log: > Arrange fields and methods > Drop unnecessary parameter to private method > > Modified: > jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java > > Modified: jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java > URL: > http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java?rev=1372829&r1=1372828&r2=1372829&view=diff > > ============================================================================== > --- jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java > (original) > +++ jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java Tue > Aug 14 10:25:17 2012 > @@ -41,6 +41,10 @@ public class ThreadGroup extends Abstrac > > private static final long WAIT_TO_DIE = > JMeterUtils.getPropDefault("jmeterengine.threadstop.wait", 5 * 1000); // 5 > seconds > > + /** How often to check for shutdown during ramp-up, default 1000ms */ > + private static final int RAMPUP_GRANULARITY = > + JMeterUtils.getPropDefault("jmeterthread.rampup.granularity", > 1000); // $NON-NLS-1$ > + > //+ JMX entries - do not change the string values > > /** Ramp-up time */ > @@ -66,14 +70,11 @@ public class ThreadGroup extends Abstrac > > //- JMX entries > > - /** How often to check for shutdown during ramp-up, default 1000ms */ > - private static final int RAMPUP_GRANULARITY = > - JMeterUtils.getPropDefault("jmeterthread.rampup.granularity", > 1000); // $NON-NLS-1$ > - > private Thread threadStarter; > > private JMeterThread[] jmThreads; > > + // List of active threads > private Map<JMeterThread, Thread> allThreads = new > ConcurrentHashMap<JMeterThread, Thread>(); > > /** > @@ -92,7 +93,6 @@ public class ThreadGroup extends Abstrac > public ThreadGroup() { > } > > - > /** > * Set whether scheduler is being used > * > @@ -102,10 +102,6 @@ public class ThreadGroup extends Abstrac > setProperty(new BooleanProperty(SCHEDULER, Scheduler)); > } > > - private boolean isDelayedStartup() { > - return getPropertyAsBoolean(DELAYED_START); > - } > - > /** > * Get whether scheduler is being used > * > @@ -210,6 +206,10 @@ public class ThreadGroup extends Abstrac > return getPropertyAsInt(ThreadGroup.RAMP_TIME); > } > > + private boolean isDelayedStartup() { > + return getPropertyAsBoolean(DELAYED_START); > + } > + > @Override > public void scheduleThread(JMeterThread thread) > { > @@ -262,24 +262,19 @@ public class ThreadGroup extends Abstrac > /** > * Wait for delay with RAMPUP_GRANULARITY > * @param delay delay in ms > - * @param type Delay type > */ > - private void delayBy(long delay, String type) { > + private void delayBy(long delay) { > if (delay > 0) { > long start = System.currentTimeMillis(); > long end = start + delay; > long now=0; > - long pause = RAMPUP_GRANULARITY; > + long pause = RAMPUP_GRANULARITY; // maximum pause to use > while(running && (now = System.currentTimeMillis()) < end) { > long togo = end - now; > if (togo < pause) { > pause = togo; > } > - try { > - Thread.sleep(pause); // delay between checks > - } catch (InterruptedException e) { > - break; > - } > + pause(pause); // delay between checks > } > } > } > @@ -487,6 +482,13 @@ public class ThreadGroup extends Abstrac > } > } > > + private void pause(long ms){ > + try { > + Thread.sleep(ms); > + } catch (InterruptedException e) { > + } > + } > + > /** > * Starts Threads using ramp up > */ > @@ -505,11 +507,11 @@ public class ThreadGroup extends Abstrac > long now = System.currentTimeMillis(); > // set the start time for the Thread > if (getDelay() > 0) {// Duration is in seconds > - delayBy(getDelay() * 1000, "start"); > + delayBy(getDelay() * 1000); > } else { > long start = getStartTime(); > if (start >= now) { > - delayBy(start-now, "start"); > + delayBy(start-now); > } > // else start immediately > } > > > -- Cordialement. Philippe Mouawad.
