1. Do you mean 'the only way', except using a lock? 

2. I also cant imagine how we can use long primitive type for CAS atomicity 
without a lock if only its not an AtomicLong. Any hint here, please?

Thanks


Sent from my iPhone

> On Dec 1, 2014, at 20:27, Martin Buchholz <marti...@google.com> wrote:
> 
> The only way to use atomic compare and set is to pack all your state
> into a single primitive unit.  The largest we have is "long".  So we
> regularly pack what the C folks would call bitfields into longs.
> 
>> On Sat, Nov 29, 2014 at 8:13 AM, Alex Yursha <alexyur...@gmail.com> wrote:
>> Hi all,
>> 
>> According to javadoc current implementation of ThreadPoolExecutor packs two 
>> conceptual fields ‘workerCount’ and ‘runState’ into one actual field ‘ctl’ 
>> of type AtomicInteger.
>> 
>> Could you please explain are there any performance or other benefits for 
>> this? It seems to complicate the class design and I can’t find the positive 
>> side of this.
>> 
>> Thanks,
>> Alex
>> 

Reply via email to