Examples of AtomicInteger


Examples of java.util.concurrent.atomic.AtomicInteger

     * @param capacity max number of bucket
     */
    public LockFreeHashSet(int capacity) {
        bucket = (BucketList<T>[]) new BucketList[capacity];
        bucket[0] = new BucketList<T>();
        bucketSize = new AtomicInteger(2);
        setSize = new AtomicInteger(0);
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

    private volatile int _fuzzy_sum_cache;
    private volatile long _fuzzy_time;

    public FixedStripeAtomicIntCounter() {
        this._cnts1 = new AtomicInteger();
        this._cnts2 = new AtomicInteger();
        this._cnts3 = new AtomicInteger();
        this._cnts4 = new AtomicInteger();
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

        start(NUM_THREADS, NUM_MSGS, true, timer);
    }

    private static void start(final int num_threads, final int num_msgs, boolean oob, TimeScheduler timer) {
        final NAKACK nak=new NAKACK();
        final AtomicInteger counter=new AtomicInteger(num_msgs);
        final AtomicLong seqno=new AtomicLong(1);
        final AtomicInteger delivered_msgs=new AtomicInteger(0);
        final Lock lock=new ReentrantLock();
        final Condition all_msgs_delivered=lock.newCondition();
        final ConcurrentLinkedQueue<Long> delivered_msg_list=new ConcurrentLinkedQueue<Long>();
        final Address local_addr=Util.createRandomAddress("A");
        final Address sender=Util.createRandomAddress("B");


        if(timer == null)
            timer=new TimeScheduler2();
        nak.setTimer(timer);
        System.out.println("timer is a " + timer.getClass());

        nak.setDownProtocol(new Protocol() {public Object down(Event evt) {return null;}});

        nak.setUpProtocol(new Protocol() {
            public Object up(Event evt) {
                if(evt.getType() == Event.MSG) {
                    delivered_msgs.incrementAndGet();
                    NakAckHeader hdr=(NakAckHeader)((Message)evt.getArg()).getHeader(NAKACK_ID);
                    if(hdr != null)
                        delivered_msg_list.add(hdr.getSeqno());

                    if(delivered_msgs.get() >= num_msgs) {
                        lock.lock();
                        try {
                            all_msgs_delivered.signalAll();
                        }
                        finally {
                            lock.unlock();
                        }
                    }
                }
                return null;
            }
        });

        nak.setDiscardDeliveredMsgs(true);
        nak.down(new Event(Event.SET_LOCAL_ADDRESS, local_addr));
        nak.down(new Event(Event.BECOME_SERVER));
        View view=new View(local_addr, 1, Arrays.asList(local_addr, sender));
        nak.down(new Event(Event.VIEW_CHANGE, view));

        MutableDigest digest=new MutableDigest();
        digest.add(local_addr, 0, 0, 0);
        digest.add(sender, 0, 0, 0);
        nak.down(new Event(Event.SET_DIGEST, digest));

        final CountDownLatch latch=new CountDownLatch(1);
        Sender[] adders=new Sender[num_threads];
        for(int i=0; i < adders.length; i++) {
            adders[i]=new Sender(nak, latch, counter, seqno, oob, sender);
            adders[i].start();
        }

        long start=System.currentTimeMillis();
        latch.countDown(); // starts all adders

        lock.lock();
        try {
            while(delivered_msgs.get() < num_msgs) {
                try {
                    all_msgs_delivered.await(1000, TimeUnit.MILLISECONDS);
                    System.out.println("received " + delivered_msgs.get() + " msgs");
                }
                catch(InterruptedException e) {
                    e.printStackTrace();
                }
            }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

        for(int i=0; i < adders.length; i++) {
            adders[i]=new Adder(1, NUM, 10, win, latch);
            adders[i].start();
        }

        final AtomicInteger count=new AtomicInteger(NUM);
        final Remover[] removers=new Remover[NUM_THREADS];
        for(int i=0; i < removers.length; i++) {
            removers[i]=new Remover(win, latch, count);
            removers[i].start();
        }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

    public AtomicFloat() {
        this(0.0f);
    }

    public AtomicFloat(float value) {
        this.value = new AtomicInteger(i(value));
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

    @Test(dataProvider = "rand_xmark_remote_10set")
    public void scenario_invoke_random20_xmark_queries(final String[] tests) {
        ExecutorService exec = Executors.newFixedThreadPool(64);
        final int len = tests.length;
        final AtomicInteger counter = new AtomicInteger(0);
        try {
            for(int i = 0; i < len; i++) {
                exec.execute(new Runnable() {
                    public void run() {
                        int nth = counter.getAndIncrement();
                        String testfilename = tests[nth];
                        String test = FileUtils.basename(testfilename) + "#" + nth;
                        //String[] args = new String[] { "-q", testfilename, "-o", OUTPUT_DEST + test };
                        String[] args = new String[] { "-q", testfilename, "-o", "/dev/null" };
                        StopWatch sw = new StopWatch("elapsed time of " + test);
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

      {
         // Query if we have version value in the distributed cache.
         // If we have a version value, compare the version and invalidate if necessary.
         @SuppressWarnings("unchecked")
         Map<Object, Object> data = event.getData();
         AtomicInteger version = (AtomicInteger) data.get(VERSION);
         if(version != null)
         {
            String realId = FqnUtil.getIdFromFqn(fqn, isBuddy);
            String owner = isBuddy ? FqnUtil.getBuddyOwner(fqn) : null;
            AtomicLong timestamp = (AtomicLong) data.get(TIMESTAMP);
            if (timestamp == null)
            {
               log.warn("No timestamp attribute found in " + fqn);
            }
            else
            {
               // Notify the manager that a session has been updated
               boolean updated = sessionChangedInDistributedCache(realId, owner,
                                                  version.get());
               if (!updated && !isBuddy)
               {
                  log.warn("Possible concurrency problem: Replicated version id " +
                            version + " is less than or equal to in-memory version for session " + realId);
               }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

      }
     
      if (data != null)
      {
         session = createEmptySession();
         AtomicInteger version = (AtomicInteger) data.get(VERSION);
         AtomicLong timestamp = (AtomicLong) data.get(TIMESTAMP);
         SessionMetadata metadata = (SessionMetadata) data.get(METADATA);
         Map<String, Object> attributes = loadSessionAttributes(id, data);
         session.update(version, timestamp, metadata, attributes);
      }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

public class CacheListenerRemovalTest
{
   public void testListenerRemoval()
   {
      Cache cache = new UnitTestCacheFactory().createCache(getClass());
      AtomicInteger i = new AtomicInteger(0);
      try
      {
         assert 0 == cache.getCacheListeners().size();
         Listener l = new Listener(i);
         cache.addCacheListener(l);
         assert 1 == cache.getCacheListeners().size();
         assert cache.getCacheListeners().iterator().next() == l;
         assert 0 == i.get();
         cache.get(Fqn.ROOT, "x");
         assert 1 == i.get();

         // remove the listener
         cache.removeCacheListener(l);
         assert 0 == cache.getCacheListeners().size();
         i.set(0);
         assert 0 == i.get();
         cache.get(Fqn.ROOT, "x");
         assert 0 == i.get();
      }
      finally
      {
         cache.stop();
      }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicInteger

   ExecutorService exec;

   public TaskRunner(int numThreads)
   {
      final ThreadGroup tg = new ThreadGroup(Thread.currentThread().getThreadGroup(), "LoadGenerators");
      final AtomicInteger ai = new AtomicInteger(1);
      this.exec = Executors.newFixedThreadPool(numThreads, new ThreadFactory() {        
         public Thread newThread(Runnable r) {
            return new Thread(tg, r, "LoadGenerator-" + ai.getAndIncrement());
         }
      });
   }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.