Package java.util.concurrent.atomic

Examples of java.util.concurrent.atomic.AtomicLongArray


        ThreadSafeBitSetSegments segments = this.segments.get();

        os.writeInt(segments.numSegments());

        for(int i=0;i<segments.numSegments();i++) {
            AtomicLongArray arr = segments.getSegment(i);

            for(int j=0;j<arr.length();j++) {
                os.writeLong(arr.get(j));
            }
        }
    }
View Full Code Here


        int numSegments = dis.readInt();

        ThreadSafeBitSetSegments segments = new ThreadSafeBitSetSegments(numSegments, numLongsPerSegment);

        for(int i=0;i<segments.numSegments();i++) {
            AtomicLongArray arr = segments.getSegment(i);

            for(int j=0;j<numLongsPerSegment;j++) {
                arr.set(j, dis.readLong());
            }
        }

        return new ThreadSafeBitSet(segments, log2SegmentSize);
    }
View Full Code Here

    private static class ThreadSafeBitSetSegments {

        private final AtomicLongArray segments[];

        private ThreadSafeBitSetSegments(int numSegments, int segmentLength) {
            AtomicLongArray segments[] = new AtomicLongArray[numSegments];

            for(int i=0;i<numSegments;i++) {
                segments[i] = new AtomicLongArray(segmentLength);
            }

            /// Thread safety: Because this.segments is final, the preceding operations in this constructor are guaranteed to be visible to any
            /// other thread which accesses this.segments.
            this.segments = segments;
View Full Code Here

            /// other thread which accesses this.segments.
            this.segments = segments;
        }

        private ThreadSafeBitSetSegments(ThreadSafeBitSetSegments copyFrom, int numSegments, int segmentLength) {
            AtomicLongArray segments[] = new AtomicLongArray[numSegments];

            for(int i=0;i<numSegments;i++) {
                segments[i] = i < copyFrom.numSegments() ? copyFrom.getSegment(i) : new AtomicLongArray(segmentLength);
            }

            /// see above re: thread-safety of this assignment
            this.segments = segments;
        }
View Full Code Here

     *
     * @param ordinalMap
     */
    public void populateFromByteOrdinalMap(final ByteArrayOrdinalMap ordinalMap) {
        ByteDataBuffer byteData = ordinalMap.getByteData();
        AtomicLongArray pointersAndOrdinals = ordinalMap.getPointersAndOrdinals();
        FastBlobDeserializationRecord rec = new FastBlobDeserializationRecord(getSchema(), byteData.getUnderlyingArray());
        for (int i = 0; i < pointersAndOrdinals.length(); i++) {
            long pointerAndOrdinal = pointersAndOrdinals.get(i);
            if(!ByteArrayOrdinalMap.isPointerAndOrdinalEmpty(pointerAndOrdinal)) {
                long pointer = ByteArrayOrdinalMap.getPointer(pointerAndOrdinal);
                int ordinal = ByteArrayOrdinalMap.getOrdinal(pointerAndOrdinal);

                int sizeOfData = VarInt.readVInt(byteData.getUnderlyingArray(), pointer);
View Full Code Here

            throw new IllegalArgumentException("Invalid buffer size requested: " + size);

        _bufferCount = count;
        _bufferSize = size;
        _buffers = new Buffer[_bufferCount];
        _availablePagesBits = new AtomicLongArray((count + 63) / 64);
        _hashTable = new Buffer[_bufferCount * HASH_MULTIPLE];
        _hashLocks = new ReentrantLock[HASH_LOCKS];
        _maxKeys = (_bufferSize - Buffer.HEADER_SIZE) / Buffer.MAX_KEY_RATIO;

        for (int index = 0; index < HASH_LOCKS; index++) {
View Full Code Here

            throw new IllegalArgumentException("Invalid buffer size requested: " + size);

        _bufferCount = count;
        _bufferSize = size;
        _buffers = new Buffer[_bufferCount];
        _availablePagesBits = new AtomicLongArray((count + 63) / 64);
        _hashTable = new Buffer[_bufferCount * HASH_MULTIPLE];
        _hashLocks = new ReentrantLock[HASH_LOCKS];
        _maxKeys = (_bufferSize - Buffer.HEADER_SIZE) / Buffer.MAX_KEY_RATIO;

        for (int index = 0; index < HASH_LOCKS; index++) {
View Full Code Here

    }

    public EstimatedHistogram(int bucketCount)
    {
        makeOffsets(bucketCount);
        buckets = new AtomicLongArray(bucketOffsets.length + 1);
    }
View Full Code Here

    public EstimatedHistogram(long[] offsets, long[] bucketData)
    {
        assert bucketData.length == offsets.length +1;
        bucketOffsets = offsets;
        buckets = new AtomicLongArray(bucketData);
    }
View Full Code Here

    }

    public EstimatedHistogram(int bucketCount)
    {
        makeOffsets(bucketCount);
        buckets = new AtomicLongArray(bucketOffsets.length + 1);
    }
View Full Code Here

TOP

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

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.