Okay, so I'm trying to make the method “start” the process for a given amount of “time”, so that all the seams work to some extent, but it continues to give away these emotions. This is the first exception he gives.
Exception in thread "main" java.util.ConcurrentModificationException
and then in exicutio he gives it
at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761) at java.util.LinkedList$ListItr.next(LinkedList.java:696) at parta.PartA.runQueueOne(PartA.java:273)
I don’t know what I am doing wrong, I suppose to do it at the same time or something else? If so, how? I thought the linked list was synchronous? it may be that where I ruined it.
Well, anyway, this is a method that uses:
public static void runQueueOne(LinkedList<MyProcess> q1, LinkedList<MyProcess> q2, LinkedList<MyProcess> q3, LinkedList<MyProcess> q4, int ct) { System.out.println("Running Level One Queue"); for(MyProcess p : q1) { if(p.name.equalsIgnoreCase(q1.getFirst().name)) { //add 3 millsedonds to the service time q1.getFirst().serviceTimeTotal += 3; System.out.println(q1.getFirst().name + " is running"); }else { //add 3 millseconds to wait time fr the un busy one p.waitTimeTotal+=3; } } for(MyProcess p : q2) { p.waitTimeTotal+=3; } for(MyProcess p : q3) { p.waitTimeTotal+=3; } for(MyProcess p : q4) { p.waitTimeTotal+=3; } //calculate all the priority for(MyProcess p : q1) { p.calculatePriority(); switch(p.priority) { case 1: break; case 2: q1.remove(p); q2.add(p); break; case 3: q1.remove(p); q3.add(p); break; case 4: q1.remove(p); q4.add(p); break; } } ct += 3; }
and here I call it the main method
while(!allProcessDone) { //arrival queue for(MyProcess p :al ) { addToQueue(qOne, p, currentTime); //cheack to see if all the processes are done if(p1.isDone == true & p2.isDone == true & p3.isDone == true & p4.isDone == true & p5.isDone == true & p6.isDone == true & p7.isDone == true & p8.isDone == true & p9.isDone == true & p10.isDone == true ) { //end the loop allProcessDone = true; System.out.println("All proccess have been completed"); break; } switch (robin) { case 1: runQueueOne(qOne,qTwo, qThree, qFour, currentTime); robin = 2; break; case 2: runQueueTwo(qOne,qTwo, qThree, qFour, currentTime); robin = 3; break; case 3 : runQueueThree(qOne,qTwo, qThree, qFour, currentTime); robin = 4; break; case 4 : runQueueFour(qOne,qTwo, qThree, qFour, currentTime); robin = 1; break; } }
thanks for any help with this