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

        编程多年,大多时间都在按教材的思路来写软件,随着开发经验的积累,作品从应用路线升华为创作路线.本人所在的行业是通讯行业,工作内容是为行业内专业人士写应用工具.总结在这行业所写的作品,软件的质量也在慢慢提高.

        由于应用目的,软件难度越来越高,体现处理的数据越来越多,对数据进行率选并求出最终数据所耗的时间也越来越大.开始在软件使用线程,是在一次无意的尝试下发现,现说出来,和大家一起分享.

        引用.net帮助文档中的一段话"操作系统使用进程将它们正在执行的不同应用程序分开。线程是操作系统分配处理器时间的基本单元,并且该进程中可以有多个线程同时执行代码。每个线程都维护异常处理程序、调度优先级和一组系统用于在调度该线程前保存线程上下文的结构。线程上下文包括为使线程在线程的宿主进程地址空间中无缝地继续执行所需的所有信息,包括线程的 CPU 寄存器组和堆栈。"可以看到线程和进程的关系.

      直接的体会是在处理宏量数据运算事,假定算法代码都一样,使用线程和不使用线程在执行过程所耗的时间有明显差别,比如说,不使用线程,我运算程序到出最终结果要半个小时的话,多加几行语句,将这个计算代码段用线程来执行,结果会让你惊讶的发现,原来需半个小时的程序会在不到1分种的时间执行完成.

     原因是什么呢?因为操作系统会将你的软件在运行状态下变成一个进程,在进程中,不做线程设置的话,会占用所有CPU的运算资源处理你的代码段,直到运算完.很多资源和时间都花在等待上,不作宏量数据的情况,你是很难发现这个区别.

    有过这些经历后,在处理宏数据的过程中,包括打开一些文本文件获取数据,或多个二进制文件数据流处理,求出目标结果的类似软件开发时,本人已做到潜意识中选用线程来封装这些代码段.目的就是为了提高执行效率.

    写出这些心得原和那些在非软件公司里面干着数据处理软件的同类人分享,希望能一起完成高强度的开发要求.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值