Monday, April 19, 2021

ThreadLocal (Java Platform SE 7 ) and AtomicInteger...

Source:

import java.util.concurrent.atomic.AtomicInteger;  
import java.lang.ThreadLocal<T>;
   public class ThreadId {       // Atomic integer containing the next thread ID to be assigned       private static final AtomicInteger nextId = new AtomicInteger(0);         // Thread local variable containing each thread's ID       private static final ThreadLocal<Integer> threadId =           new ThreadLocal<Integer>() {               @Override protected Integer initialValue() {                   return nextId.getAndIncrement();           }       };         // Returns the current thread's unique ID, assigning it if necessary       public static int get() {           return threadId.get();       }   }

No comments: