摘要: CyclicBarrier适用于这样的情况:你希望创建一组任务,它们并行的执行工作,然后在进行下一步步骤之前等待,直至所有任务都完成,它使得所有的并行任务都将在删栏出列队,因此可以一致的向前移动。 当调用await时 指定的任务运行完后会awiat 直到最后一个线程运行完毕,才继续执行下一步动作 用法和countDownLatch差不多 countDownLatch只触发一次,而CyclicBarrier可以多次重用 阅读全文
posted @ 2019-03-27 21:05 陶朱公Boy 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到最好。 特别是前期阶段,设计的越完美,提交后的成本损失就越少。 迭代式开发,不要求每一个阶段的任务做的都是最完美的,而是明明知道还有很多不足的地方,却偏偏不去完善它,而是把主要功能先搭建起来为目的,以最短的时间, 最少的损失先完成一个“不完美的成果物”直至提交。然后再通过客户或用户的反馈信息,在这个“不完美的成果物”上逐步进行完善。 螺旋开发,很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。 敏捷开发,相比迭代式开发两者都强调在较短的开发周期提交软件,但是,敏捷开发的周期可能更短,并且更加强调队伍中的高度协作。 敏捷方法有时候被误认为是无计划性和纪律性的方法,实际上更确切的说法是敏捷方法强调适应性而非预见性。 适应性的方法集中在快速适应现实的变化。当项目的需求起了变化,团队应该迅速适应。这个团队可能很难确切描述未来将会如何变化 阅读全文
posted @ 2019-03-27 19:23 陶朱公Boy 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 中国有很多古代警世名言,朗朗上口,凝聚了很多故事与哲理。硅谷的互联网公司里头也有一些这样的名言,凝聚了很多公司价值观和做事的方法,对于很多程序员来说,其影响潜移默化。这里收集了一些 阅读全文
posted @ 2019-03-27 19:17 陶朱公Boy 阅读(320) 评论(0) 推荐(0) 编辑