Note that there are some explanatory texts on larger screens.

plurals
  1. POTimer already cancelled
    primarykey
    data
    text
    <p>I have two timers to manage input(en-queue) and output (dequeue) from a FIFO queue but I keep getting a exception for the dequeueing java.lang.IllegalStateException: Timer already cancelled. I can't place a stop to debug line where the error is claimed to occur line 83. I don't know what I'm missing so any help would be appreciated.</p> <pre><code>import java.util.Random; import java.util.Timer; import java.util.TimerTask; /** * RunSim */ public class RunSim { private double arrivalRate = 600; private double y; private Timer t; private Timer t2; private Queue fifoQueue; private long xy; private long fact = 10; private int count; private int pId; public RunSim() { Random r = new Random(); long n = System.currentTimeMillis(); r.setSeed(n); double i = r.nextDouble(); y = ((1 / arrivalRate) * (Math.log(i))); xy = (long) y; t = new Timer(); t2 = new Timer(); fifoQueue = new Queue(); count = 0; pId = 0; } public static void main() { RunSim rs = new RunSim(); rs.start(); } public void start() { class sendPacket extends TimerTask { public void run() { Packet p = new Packet(); p.setId(pId); fifoQueue.insert(p); p.setArrivalTime(); System.out.println("ID: " + p.getId() + " Arrival Time: " + p.getArrivalTime() / fact); pId++; } } class removePacket extends TimerTask { public void run() { fifoQueue.first().setDepartureTime(); System.out.println("ID: " + fifoQueue.first().getId() + " Departure Time: " + fifoQueue.first().getDepartureTime() / fact); fifoQueue.remove(); } } while (count &lt; 1000) { long v = fact * (1 + Math.abs(xy)); t.schedule(new sendPacket(), 0, v); count++; t2.schedule(new removePacket(), 5, 5); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload