读书人

如若没有线程开源会怎样

发布时间: 2012-06-30 17:20:12 作者: rapoo

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

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

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

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

这两种方式的主导方完全不一样。 2 楼 muchunfeng 2012-02-14 2 以zookeeper为例
zookeeper的Client就是上述第一种情况的良好体现,而Server则是第二种情况的良好体现。

读书人网 >开源软件

热点推荐