`
muchunfeng
  • 浏览: 7791 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如果没有线程,开源会怎样

阅读更多
    今天在处理zookeeper,通过阅读源代码,小有体会,将就着写下,望能起到抛砖引玉的效果。
    1 线程救了开源。
    试想一下,如果没有线程,几个开源项目能正常跑起来?

    2 基础是王道。
    开源代码目的就在帮助你简单,帮助你把一些细节的东西隐去。比如zookeeper中,你需要的只是如何创建一个zookeeper客户端,如何从zookeeper的服务器获取你所要的信息,而中间你可能还需要一些对服务器node的状态的api调用。而开源项目得为你做多少东西呢?而这些都是最基础的一些东西,也恰恰是我们现在变成用得比较少的东西。
    包括:
    文件操作,socket操作,同步处理,国际编码。

    3 linux哲学太了不起。
    每个项目都有输入流,都有输出流。所以spring能很好的整合struts,hibernate,ibatis。zookeeper也能很好的整合到任何项目,包括hadoop。

    4 设计模式。
    一直以为设计模式是很高的东西,当然,它确实也不是那么容易真正弄明白。以前听一朋友说设计模式就是为了更好的理解高手的代码,此言我觉得甚有道理。
分享到:
评论
2 楼 muchunfeng 2012-02-14  
2 以zookeeper为例
zookeeper的Client就是上述第一种情况的良好体现,而Server则是第二种情况的良好体现。
1 楼 muchunfeng 2012-02-14  
自己补充一些:
1 开源分两种类型:
一为zookeeper之类,在别人的程序中嵌入使用的,这种情况下一般会开新的线程,尤其是这种需要和服务端进行心跳连接的。当然也有好多不需要开心线程的,这类像Java中就有很多例子,ArrayList之类,就完全没有必要开新线程。
一为hadoop,tomcat之类,它有它自己的一套运行机制,我们所要作的只是看它为我们提供了哪些接口,然后通过实现这些接口去做一些我们愿意做的事情。

这两种方式的主导方完全不一样。

相关推荐

Global site tag (gtag.js) - Google Analytics