善用线程和进程,提升软件的专业度.

本文转载
 
编程多年,大多时间都在按教材的思路来写软件,随着开发经验的积累,做品从应用路线升华为创做路线.本人所在的行业是通信行业,工做内容是为行业内专业人士写应用工具.总结在这行业所写的做品,软件的质量也在慢慢提升.
        因为应用目的,软件难度愈来愈高,体现处理的数据愈来愈多,对数据进行率选并求出最终数据所耗的时间也愈来愈大.开始在软件使用线程,是在一次无心的尝试下发现,现说出来,和你们一块儿分享.
        引用.net帮助文档中的一段话"操做系统使用进程将它们正在执行的不一样应用程序分开。线程是操做系统分配处理器时间的基本单元,而且该进程中能够有多个线程同时执行代码。每一个线程都维护异常处理程序、调度优先级和一组系统用于在调度该线程前保存线程上下文的结构。线程上下文包括为使线程在线程的宿主进程地址空间中无缝地继续执行所需的全部信息,包括线程的 CPU 寄存器组和堆栈。"能够看到线程和进程的关系.
      直接的体会是在处理宏量数据运算事,假定算法代码都同样,使用线程和不使用线程在执行过程所耗的时间有明显差异,好比说,不使用线程,我运算程序到出最终结果要半个小时的话,多加几行语句,将这个计算代码段用线程来执行,结果会让你惊讶的发现,原来需半个小时的程序会在不到1分种的时间执行完成.
     缘由是什么呢?由于操做系统会将你的软件在运行状态下变成一个进程,在进程中,不作线程设置的话,会占用全部CPU的运算资源处理你的代码段,直到运算完.不少资源和时间都花在等待上,不做宏量数据的状况,你是很难发现这个区别.
    有过这些经历后,在处理宏数据的过程当中,包括打开一些文本文件获取数据,或多个二进制文件数据流处理,求出目标结果的相似软件开发时,本人已作到潜意识中选用线程来封装这些代码段.目的就是为了提升执行效率.
    写出这些心得原和那些在非软件公司里面干着数据处理软件的同类人分享,但愿能一块儿完成高强度的开发要求.

本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/polarmirror/archive/2007/08/14/1741890.aspx
相关文章
相关标签/搜索