- Timestamp:
- 04/03/12 16:11:43 (10 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue.java
r519 r531 15 15 * @since 27.09.11, 14:58 16 16 */ 17 public class CABSESDLazySetPaddedSpinOptimizedCleanFree UnrolledQueue<T> implements IQueue<T> {17 public class CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue<T> implements IQueue<T> { 18 18 private static final boolean USE_BITMASK = true; 19 19 //====================================================== 20 private static final AtomicLongFieldUpdater<CABSESDLazySetPaddedSpinOptimizedCleanFree UnrolledQueue> tailUpdater = AtomicLongFieldUpdater.newUpdater( CABSESDLazySetPaddedSpinOptimizedCleanFreeUnrolledQueue.class, "tailCursor" );21 private static final AtomicLongFieldUpdater<CABSESDLazySetPaddedSpinOptimizedCleanFree UnrolledQueue> headUpdater = AtomicLongFieldUpdater.newUpdater( CABSESDLazySetPaddedSpinOptimizedCleanFreeUnrolledQueue.class, "headCursor" );20 private static final AtomicLongFieldUpdater<CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue> tailUpdater = AtomicLongFieldUpdater.newUpdater( CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue.class, "tailCursor" ); 21 private static final AtomicLongFieldUpdater<CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue> headUpdater = AtomicLongFieldUpdater.newUpdater( CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue.class, "headCursor" ); 22 22 //====================================================== 23 23 … … 67 67 68 68 69 public CABSESDLazySetPaddedSpinOptimizedCleanFree UnrolledQueue( final int length ) {69 public CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue( final int length ) { 70 70 checkArgument( length > 0, "length(%s) must be >0", length ); 71 71 if ( USE_BITMASK ) { … … 123 123 124 124 final int index = index( newTail ); 125 elements[index] = item; 125 if ( elements[index] != item ) { 126 elements[index] = item; 127 } 126 128 127 129 publishTail( newTail ); … … 152 154 153 155 @SuppressWarnings( "unchecked" ) 154 public static <T> IBoundedQueueFactory<T, CABSESDLazySetPaddedSpinOptimizedCleanFree UnrolledQueue<T>> factory() {156 public static <T> IBoundedQueueFactory<T, CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue<T>> factory() { 155 157 return FACTORY; 156 158 } 157 159 158 public static final IBoundedQueueFactory FACTORY = new IBoundedQueueFactory<Object, CABSESDLazySetPaddedSpinOptimizedCleanFree UnrolledQueue<Object>>() {160 public static final IBoundedQueueFactory FACTORY = new IBoundedQueueFactory<Object, CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue<Object>>() { 159 161 @Override 160 public CABSESDLazySetPaddedSpinOptimizedCleanFree UnrolledQueue<Object> create( final int size ) {161 return new CABSESDLazySetPaddedSpinOptimizedCleanFree UnrolledQueue<Object>( size );162 public CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue<Object> create( final int size ) { 163 return new CABSESDLazySetPaddedSpinOptimizedCleanFreeTASUnrolledQueue<Object>( size ); 162 164 } 163 165
Note: See TracChangeset
for help on using the changeset viewer.