带着问题,我花了不少时间深入了读了一下这部分的源码,终于搞清楚了,借本文分享一下。