예제 #1
0
파일: Test2.java 프로젝트: sebhoerl/matsim
 public void run() {
   Timer timer = new Timer();
   timer.startTimer();
   while (t2.v < endTime) {
     if (t2.v % 2 == parameter) {
       t2.v += 1;
     }
   }
   timer.endTimer();
   timer.printMeasuredTime("time for volatile: ");
 }
예제 #2
0
파일: Test2.java 프로젝트: sebhoerl/matsim
 public void run() {
   Timer timer = new Timer();
   timer.startTimer();
   while (t2.nv < endTime) {
     lock.getLock(id);
     if (t2.nv % 2 == parameter) {
       t2.nv += 1;
     }
     lock.unLock(id);
   }
   timer.endTimer();
   timer.printMeasuredTime("time for volatile lock: ");
 }
예제 #3
0
파일: Test2.java 프로젝트: sebhoerl/matsim
    public void run() {
      Timer timer = new Timer();
      timer.startTimer();
      int counter = 0;
      while (t2.nv < endTime) {
        synchronized (t2) {
          // satawal needs for this code much longer, than for the code above (loses factor 10)
          if (t2.nv < endTime) {
            counter++;
            t2.nv += 1;
          }

          // if (t2.nv % 2 == parameter) {
          // t2.nv += 1;
          // }

        }
      }
      timer.endTimer();
      timer.printMeasuredTime("time for synchronied: ");
      System.out.println(Thread.currentThread().getId() + ":" + counter);
    }