concurrent
胖大海瘦西湖
乐观,积极进取
展开
-
guava concurrent学习(一):AbstractFuture
一、内部类分析1、Waiter用于将多个等待的线程串起来,内部有成员变量thread与next,组成等待此future完成的链表,最重要的方法是unpark如下:void unpark() { // releaseWaiters方法会调用这里。 // This is racy with removeWaiter. The consequence of the race is ...原创 2018-09-28 21:53:28 · 1822 阅读 · 0 评论 -
如果学习开源框架
当我们在学习一个开源框架时,成熟的开源框架一般都会非常庞大,各个模块、包之间会有依赖关系,而如果只是修改开源包的话,始终觉得不能真正地从根本上理解、实现一个开源框架。如果自己去模仿着写一个的话,也会非常痛苦,因为想实现模块A,但是写着写着,发现模块A依赖了太多其他模块的东西,导致无法继续模仿下去。有一个技巧可以解决上述问题,我们把开源包用IDE打开,然后去除想要学习的模块A,以及依赖模块A的包...原创 2018-09-29 21:26:24 · 389 阅读 · 1 评论