Package java.util.concurrent.atomic

Examples of java.util.concurrent.atomic.AtomicReferenceArray


        if (i > this.threshold)
        {
          expand();
          i = this.count + 1;
        }
        AtomicReferenceArray localAtomicReferenceArray = this.table;
        int j = paramInt & localAtomicReferenceArray.length() - 1;
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(j);
        for (MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
        {
          localObject1 = localReferenceEntry2.getKey();
          if ((localReferenceEntry2.getHash() == paramInt) && (localObject1 != null) && (this.map.keyEquivalence.equivalent(paramObject1, localObject1)))
          {
            MapMakerInternalMap.ValueReference localValueReference = localReferenceEntry2.getValueReference();
            Object localObject2 = localValueReference.get();
            if (localObject2 == null)
            {
              this.modCount += 1;
              setValue(localReferenceEntry2, paramObject2);
              if (!localValueReference.isComputingReference())
              {
                enqueueNotification(paramObject1, paramInt, localObject2, MapMaker.RemovalCause.COLLECTED);
                i = this.count;
              }
              else if (evictEntries())
              {
                i = this.count + 1;
              }
              this.count = i;
              localObject3 = null;
              return localObject3;
            }
            if (paramBoolean)
            {
              recordLockedRead(localReferenceEntry2);
              localObject3 = localObject2;
              return localObject3;
            }
            this.modCount += 1;
            enqueueNotification(paramObject1, paramInt, localObject2, MapMaker.RemovalCause.REPLACED);
            setValue(localReferenceEntry2, paramObject2);
            Object localObject3 = localObject2;
            return localObject3;
          }
        }
        this.modCount += 1;
        localReferenceEntry2 = newEntry(paramObject1, paramInt, localReferenceEntry1);
        setValue(localReferenceEntry2, paramObject2);
        localAtomicReferenceArray.set(j, localReferenceEntry2);
        if (evictEntries())
          i = this.count + 1;
        this.count = i;
        Object localObject1 = null;
        return localObject1;
View Full Code Here


      }
    }

    void expand()
    {
      AtomicReferenceArray localAtomicReferenceArray1 = this.table;
      int i = localAtomicReferenceArray1.length();
      if (i >= 1073741824)
        return;
      int j = this.count;
      AtomicReferenceArray localAtomicReferenceArray2 = newEntryArray(i << 1);
      this.threshold = (localAtomicReferenceArray2.length() * 3 / 4);
      int k = localAtomicReferenceArray2.length() - 1;
      for (int m = 0; m < i; m++)
      {
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray1.get(m);
        if (localReferenceEntry1 != null)
        {
          MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1.getNext();
          int n = localReferenceEntry1.getHash() & k;
          if (localReferenceEntry2 == null)
          {
            localAtomicReferenceArray2.set(n, localReferenceEntry1);
          }
          else
          {
            Object localObject = localReferenceEntry1;
            int i1 = n;
            int i2;
            for (MapMakerInternalMap.ReferenceEntry localReferenceEntry3 = localReferenceEntry2; localReferenceEntry3 != null; localReferenceEntry3 = localReferenceEntry3.getNext())
            {
              i2 = localReferenceEntry3.getHash() & k;
              if (i2 != i1)
              {
                i1 = i2;
                localObject = localReferenceEntry3;
              }
            }
            localAtomicReferenceArray2.set(i1, localObject);
            for (localReferenceEntry3 = localReferenceEntry1; localReferenceEntry3 != localObject; localReferenceEntry3 = localReferenceEntry3.getNext())
            {
              i2 = localReferenceEntry3.getHash() & k;
              MapMakerInternalMap.ReferenceEntry localReferenceEntry4 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray2.get(i2);
              MapMakerInternalMap.ReferenceEntry localReferenceEntry5 = copyEntry(localReferenceEntry3, localReferenceEntry4);
              if (localReferenceEntry5 != null)
              {
                localAtomicReferenceArray2.set(i2, localReferenceEntry5);
              }
              else
              {
                removeCollectedEntry(localReferenceEntry3);
                j--;
View Full Code Here

    {
      lock();
      try
      {
        preWriteCleanup();
        AtomicReferenceArray localAtomicReferenceArray = this.table;
        int i = paramInt & localAtomicReferenceArray.length() - 1;
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(i);
        for (MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
        {
          Object localObject1 = localReferenceEntry2.getKey();
          if ((localReferenceEntry2.getHash() == paramInt) && (localObject1 != null) && (this.map.keyEquivalence.equivalent(paramObject1, localObject1)))
          {
            MapMakerInternalMap.ValueReference localValueReference = localReferenceEntry2.getValueReference();
            Object localObject2 = localValueReference.get();
            if (localObject2 == null)
            {
              if (isCollected(localValueReference))
              {
                j = this.count - 1;
                this.modCount += 1;
                enqueueNotification(localObject1, paramInt, localObject2, MapMaker.RemovalCause.COLLECTED);
                MapMakerInternalMap.ReferenceEntry localReferenceEntry3 = removeFromChain(localReferenceEntry1, localReferenceEntry2);
                j = this.count - 1;
                localAtomicReferenceArray.set(i, localReferenceEntry3);
                this.count = j;
              }
              int j = 0;
              return j;
            }
View Full Code Here

    {
      lock();
      try
      {
        preWriteCleanup();
        AtomicReferenceArray localAtomicReferenceArray = this.table;
        int i = paramInt & localAtomicReferenceArray.length() - 1;
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(i);
        for (MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
        {
          Object localObject1 = localReferenceEntry2.getKey();
          if ((localReferenceEntry2.getHash() == paramInt) && (localObject1 != null) && (this.map.keyEquivalence.equivalent(paramObject1, localObject1)))
          {
            MapMakerInternalMap.ValueReference localValueReference = localReferenceEntry2.getValueReference();
            Object localObject2 = localValueReference.get();
            if (localObject2 == null)
            {
              if (isCollected(localValueReference))
              {
                int j = this.count - 1;
                this.modCount += 1;
                enqueueNotification(localObject1, paramInt, localObject2, MapMaker.RemovalCause.COLLECTED);
                MapMakerInternalMap.ReferenceEntry localReferenceEntry3 = removeFromChain(localReferenceEntry1, localReferenceEntry2);
                j = this.count - 1;
                localAtomicReferenceArray.set(i, localReferenceEntry3);
                this.count = j;
              }
              localObject3 = null;
              return localObject3;
            }
View Full Code Here

      lock();
      try
      {
        preWriteCleanup();
        int i = this.count - 1;
        AtomicReferenceArray localAtomicReferenceArray = this.table;
        int j = paramInt & localAtomicReferenceArray.length() - 1;
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(j);
        for (MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
        {
          Object localObject1 = localReferenceEntry2.getKey();
          if ((localReferenceEntry2.getHash() == paramInt) && (localObject1 != null) && (this.map.keyEquivalence.equivalent(paramObject, localObject1)))
          {
            MapMakerInternalMap.ValueReference localValueReference = localReferenceEntry2.getValueReference();
            Object localObject2 = localValueReference.get();
            MapMaker.RemovalCause localRemovalCause;
            if (localObject2 != null)
            {
              localRemovalCause = MapMaker.RemovalCause.EXPLICIT;
            }
            else if (isCollected(localValueReference))
            {
              localRemovalCause = MapMaker.RemovalCause.COLLECTED;
            }
            else
            {
              localObject3 = null;
              return localObject3;
            }
            this.modCount += 1;
            enqueueNotification(localObject1, paramInt, localObject2, localRemovalCause);
            Object localObject3 = removeFromChain(localReferenceEntry1, localReferenceEntry2);
            i = this.count - 1;
            localAtomicReferenceArray.set(j, localObject3);
            this.count = i;
            Object localObject4 = localObject2;
            return localObject4;
          }
        }
View Full Code Here

      lock();
      try
      {
        preWriteCleanup();
        int i = this.count - 1;
        AtomicReferenceArray localAtomicReferenceArray = this.table;
        int j = paramInt & localAtomicReferenceArray.length() - 1;
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(j);
        for (MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
        {
          Object localObject1 = localReferenceEntry2.getKey();
          if ((localReferenceEntry2.getHash() == paramInt) && (localObject1 != null) && (this.map.keyEquivalence.equivalent(paramObject1, localObject1)))
          {
            MapMakerInternalMap.ValueReference localValueReference = localReferenceEntry2.getValueReference();
            Object localObject2 = localValueReference.get();
            MapMaker.RemovalCause localRemovalCause;
            if (this.map.valueEquivalence.equivalent(paramObject2, localObject2))
            {
              localRemovalCause = MapMaker.RemovalCause.EXPLICIT;
            }
            else if (isCollected(localValueReference))
            {
              localRemovalCause = MapMaker.RemovalCause.COLLECTED;
            }
            else
            {
              boolean bool2 = false;
              return bool2;
            }
            this.modCount += 1;
            enqueueNotification(localObject1, paramInt, localObject2, localRemovalCause);
            MapMakerInternalMap.ReferenceEntry localReferenceEntry3 = removeFromChain(localReferenceEntry1, localReferenceEntry2);
            i = this.count - 1;
            localAtomicReferenceArray.set(j, localReferenceEntry3);
            this.count = i;
            boolean bool3 = localRemovalCause == MapMaker.RemovalCause.EXPLICIT;
            return bool3;
          }
        }
View Full Code Here

      if (this.count != 0)
      {
        lock();
        try
        {
          AtomicReferenceArray localAtomicReferenceArray = this.table;
          if (this.map.removalNotificationQueue != MapMakerInternalMap.DISCARDING_QUEUE)
            for (i = 0; i < localAtomicReferenceArray.length(); i++)
              for (MapMakerInternalMap.ReferenceEntry localReferenceEntry = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(i); localReferenceEntry != null; localReferenceEntry = localReferenceEntry.getNext())
                if (!localReferenceEntry.getValueReference().isComputingReference())
                  enqueueNotification(localReferenceEntry, MapMaker.RemovalCause.EXPLICIT);
          for (int i = 0; i < localAtomicReferenceArray.length(); i++)
            localAtomicReferenceArray.set(i, null);
          clearReferenceQueues();
          this.evictionQueue.clear();
          this.expirationQueue.clear();
          this.readCount.set(0);
          this.modCount += 1;
View Full Code Here

    {
      lock();
      try
      {
        int i = this.count - 1;
        AtomicReferenceArray localAtomicReferenceArray = this.table;
        int j = paramInt & localAtomicReferenceArray.length() - 1;
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(j);
        for (MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
          if (localReferenceEntry2 == paramReferenceEntry)
          {
            this.modCount += 1;
            enqueueNotification(localReferenceEntry2.getKey(), paramInt, localReferenceEntry2.getValueReference().get(), MapMaker.RemovalCause.COLLECTED);
            MapMakerInternalMap.ReferenceEntry localReferenceEntry3 = removeFromChain(localReferenceEntry1, localReferenceEntry2);
            i = this.count - 1;
            localAtomicReferenceArray.set(j, localReferenceEntry3);
            this.count = i;
            boolean bool2 = true;
            return bool2;
          }
        boolean bool1 = false;
View Full Code Here

    {
      lock();
      try
      {
        int i = this.count - 1;
        AtomicReferenceArray localAtomicReferenceArray = this.table;
        int j = paramInt & localAtomicReferenceArray.length() - 1;
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(j);
        for (MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
        {
          Object localObject1 = localReferenceEntry2.getKey();
          if ((localReferenceEntry2.getHash() == paramInt) && (localObject1 != null) && (this.map.keyEquivalence.equivalent(paramObject, localObject1)))
          {
            MapMakerInternalMap.ValueReference localValueReference = localReferenceEntry2.getValueReference();
            if (localValueReference == paramValueReference)
            {
              this.modCount += 1;
              enqueueNotification(paramObject, paramInt, paramValueReference.get(), MapMaker.RemovalCause.COLLECTED);
              MapMakerInternalMap.ReferenceEntry localReferenceEntry3 = removeFromChain(localReferenceEntry1, localReferenceEntry2);
              i = this.count - 1;
              localAtomicReferenceArray.set(j, localReferenceEntry3);
              this.count = i;
              boolean bool3 = true;
              return bool3;
            }
            boolean bool2 = false;
View Full Code Here

    boolean clearValue(Object paramObject, int paramInt, MapMakerInternalMap.ValueReference paramValueReference)
    {
      lock();
      try
      {
        AtomicReferenceArray localAtomicReferenceArray = this.table;
        int i = paramInt & localAtomicReferenceArray.length() - 1;
        MapMakerInternalMap.ReferenceEntry localReferenceEntry1 = (MapMakerInternalMap.ReferenceEntry)localAtomicReferenceArray.get(i);
        for (MapMakerInternalMap.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
        {
          Object localObject1 = localReferenceEntry2.getKey();
          if ((localReferenceEntry2.getHash() == paramInt) && (localObject1 != null) && (this.map.keyEquivalence.equivalent(paramObject, localObject1)))
          {
            MapMakerInternalMap.ValueReference localValueReference = localReferenceEntry2.getValueReference();
            if (localValueReference == paramValueReference)
            {
              MapMakerInternalMap.ReferenceEntry localReferenceEntry3 = removeFromChain(localReferenceEntry1, localReferenceEntry2);
              localAtomicReferenceArray.set(i, localReferenceEntry3);
              boolean bool3 = true;
              return bool3;
            }
            boolean bool2 = false;
            return bool2;
View Full Code Here

TOP

Related Classes of java.util.concurrent.atomic.AtomicReferenceArray

Copyright © 2018 www.massapicom. 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.