I don't have the code in front of me, but are you saying that the
modification of the Write Queue is no longer concurrent?  Possibly the
Write Queue is a concurrent data structure and the synchronize mechanism is
no longer required.  It seems odd that someone would remove concurrency
from that critical section.

On Thu, Aug 17, 2017 at 11:41 PM, 胡阳 <huyan...@cyou-inc.com> wrote:

> 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