Ignore:
Timestamp:
Jan 7, 2010, 9:35:14 AM (14 years ago)
Author:
(none)
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • proiecte/ptvs/src/vnsim/core/Engine.java

    r61 r76  
    653653                int numThreads=intersectii.size();
    654654               
    655                 EventProcessingThread processingThreads[] = new EventProcessingThread[numThreads];
    656                
     655                //v1
     656                Runnable processingThreads[] = new Runnable[numThreads];
     657                //
    657658               
    658659                while (true) {
     
    665666                        // extrag un eveniment din coada !!!!! acum doar il extrag.. cand intru in playEvent il si scot cu remove(0)
    666667                        Event e = (Event) eventQueue.get(0);
     668                        if (e == null) continue;
    667669                        System.out.println("\n----------- number of events in the queue:"+eventQueue.size() );
    668670                       
     
    675677               
    676678                        if((e instanceof SendEvent) || (e instanceof ReceiveEvent)){
    677                                
     679                                e = (Event)eventQueue.remove(0);
    678680                                /**
    679681                                 * Mihaela Teler
     
    726728                                               
    727729                                                        System.out.print("SendEvent: ");
    728                                                         processingThreads[indexClosestIntersection] = new SendEventProcessingThread(e,crtTime);
     730                                                        processingThreads[indexClosestIntersection] = new SendEventProcessingThread(e,this);
    729731                                                }
    730732                                        else {                                 
    731733                                                        System.out.print("ReceiveEvent: ");
    732                                                         processingThreads[indexClosestIntersection] = new ReceiveEventProcessingThread(e,crtTime);
     734                                                        processingThreads[indexClosestIntersection] = new ReceiveEventProcessingThread(e,this);
    733735                                                }
    734736                                       
    735737                                        System.out.println("Processing thread "+indexClosestIntersection+" from intersection "+intersectii.get(indexClosestIntersection));
    736738                                        //processingThreads[indexClosestIntersection].start();// cu start nu merge ... why????
    737                                         processingThreads[indexClosestIntersection].run();
     739                                        new Thread(processingThreads[indexClosestIntersection]).start();
    738740                                        cnt++;
    739741                                }
     
    743745                       
    744746                        else if (e.getTime() == crtTime) {
    745                                 playEvent();
     747                                playEvent(null);
    746748                                cnt++;
    747749                        } else
     
    988990         *
    989991         */
    990         public static void playEvent() {
     992        public void playEvent(Event ev) {
    991993               
    992994                //System.out.println(">> Thread:"+Thread.currentThread().getName());
     
    9981000
    9991001                Event e = null;
     1002                if (ev == null) {
    10001003                synchronized (eventQueue) {
    10011004                        e = eventQueue.remove(0);
    10021005                }
     1006                } else e = ev;
    10031007                //System.out.print(e.toString()+", ");
    10041008                //System.out.flush();
Note: See TracChangeset for help on using the changeset viewer.