Hi guys:
         I read the source code of MINA3.0M2. The style of the code is very 
good, the structure is clear, the design is concise and efficient, especially 
the use of Selector is unexpected. However, the enqueueWriteRequest method and 
the processWrite method in the AbstractNioSession are somewhat flawed.
I see the source code in the enqueueWriteRequest method was originally 
"synchronized (writeQueue)", but was commented out, personal speculation may be 
the author feel that this treatment will affect performance.
My approach is to use CAS to ensure memory visibility and atomic, see I see the 
startSync, finishSync method, feeling that this may be more secure after some 
of the performance will not lose too much.
A little personal humble opinion.

Reply via email to