Changeset 76 for proiecte/ptvs
- Timestamp:
- Jan 7, 2010, 9:35:14 AM (14 years ago)
- Location:
- proiecte/ptvs/src/vnsim/core
- Files:
-
- 1 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
proiecte/ptvs/src/vnsim/core/Engine.java
r61 r76 653 653 int numThreads=intersectii.size(); 654 654 655 EventProcessingThread processingThreads[] = new EventProcessingThread[numThreads]; 656 655 //v1 656 Runnable processingThreads[] = new Runnable[numThreads]; 657 // 657 658 658 659 while (true) { … … 665 666 // extrag un eveniment din coada !!!!! acum doar il extrag.. cand intru in playEvent il si scot cu remove(0) 666 667 Event e = (Event) eventQueue.get(0); 668 if (e == null) continue; 667 669 System.out.println("\n----------- number of events in the queue:"+eventQueue.size() ); 668 670 … … 675 677 676 678 if((e instanceof SendEvent) || (e instanceof ReceiveEvent)){ 677 679 e = (Event)eventQueue.remove(0); 678 680 /** 679 681 * Mihaela Teler … … 726 728 727 729 System.out.print("SendEvent: "); 728 processingThreads[indexClosestIntersection] = new SendEventProcessingThread(e, crtTime);730 processingThreads[indexClosestIntersection] = new SendEventProcessingThread(e,this); 729 731 } 730 732 else { 731 733 System.out.print("ReceiveEvent: "); 732 processingThreads[indexClosestIntersection] = new ReceiveEventProcessingThread(e, crtTime);734 processingThreads[indexClosestIntersection] = new ReceiveEventProcessingThread(e,this); 733 735 } 734 736 735 737 System.out.println("Processing thread "+indexClosestIntersection+" from intersection "+intersectii.get(indexClosestIntersection)); 736 738 //processingThreads[indexClosestIntersection].start();// cu start nu merge ... why???? 737 processingThreads[indexClosestIntersection].run();739 new Thread(processingThreads[indexClosestIntersection]).start(); 738 740 cnt++; 739 741 } … … 743 745 744 746 else if (e.getTime() == crtTime) { 745 playEvent( );747 playEvent(null); 746 748 cnt++; 747 749 } else … … 988 990 * 989 991 */ 990 public static void playEvent() {992 public void playEvent(Event ev) { 991 993 992 994 //System.out.println(">> Thread:"+Thread.currentThread().getName()); … … 998 1000 999 1001 Event e = null; 1002 if (ev == null) { 1000 1003 synchronized (eventQueue) { 1001 1004 e = eventQueue.remove(0); 1002 1005 } 1006 } else e = ev; 1003 1007 //System.out.print(e.toString()+", "); 1004 1008 //System.out.flush(); -
proiecte/ptvs/src/vnsim/core/ReceiveEventProcessingThread.java
r40 r76 5 5 6 6 7 public class ReceiveEventProcessingThread extends Thread implements EventProcessingThread{7 public class ReceiveEventProcessingThread implements Runnable { 8 8 9 ReceiveEvent e;10 int crtTime;9 final ReceiveEvent e; 10 final Engine engine; 11 11 12 12 13 public ReceiveEventProcessingThread(Event e, int crtTime){13 public ReceiveEventProcessingThread(Event e, Engine engine){ 14 14 this.e=(ReceiveEvent)e; 15 this. crtTime=crtTime;15 this.engine=engine; 16 16 17 17 } … … 19 19 public void run() { 20 20 21 Engine.playEvent();21 engine.playEvent(e); 22 22 23 23 } -
proiecte/ptvs/src/vnsim/core/SendEventProcessingThread.java
r41 r76 5 5 6 6 7 public class SendEventProcessingThread extends Thread implements EventProcessingThread{7 public class SendEventProcessingThread implements Runnable{ 8 8 9 9 SendEvent e; 10 int crtTime;10 Engine engine; 11 11 12 12 13 public SendEventProcessingThread(Event e, int crtTime){13 public SendEventProcessingThread(Event e, Engine engine){ 14 14 this.e=(SendEvent)e; 15 this. crtTime=crtTime;15 this.engine=engine; 16 16 17 17 } … … 19 19 public void run() { 20 20 21 Engine.playEvent();21 engine.playEvent(e); 22 22 23 23 }
Note: See TracChangeset
for help on using the changeset viewer.