• 值班总结(2)-多线程的理解


          让我们先看一段多线程的定义,试着理解他要说的意思:

     

         多线程:在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。

     

       这样,我们简单理解就是让cpu同时干多件事,这样的设计是不错的选择,但是我们也要视情况而定,在一个简单的系统中,数据量很小,逻辑很简单,我们就不需要多线程来操控,而另一种情况,我们却不得不考虑。

    单线程:

                        

    多线程:

                          

        一个系统在设计之初,我们就要想到这么一个问题,就是大数据量的处理,在上一篇博客里我们提到过大数据处理的关键之处,就是循环,程序中的循环和sql中的循环,从这两方面下手就可以让我们减轻一部分工作,但这仅仅是一个开始。

       即便我们处理好数据的调度问题,在处理10万条数据,一般的电脑,还是很轻松的,但是数据量上了20万条,我们的调度就会捉襟见肘,这时,解决方案有两个方面:

     

        1,数据分离,或者建立缓存和索引,让数据不再聚集在一起,建立动态的数据处理机制,分离cpu当前的压力,这样可以让cpu在当下当时的处理游刃有余,但是,它会带来另外一个问题,就是数据分散,他的解决方法,有待我们继续研究,我们可以改变数据处理方法,将录入与计算数据分开,改变cpu的集中使用时间,还有优化数据结构等!

     

        2,提高服务器性能,一个程序再优化,运行在一般的服务器上,总有一天数据量会爆掉,在优化做好的情况下,就要考虑数据的分布处理,考虑数据库的优化,就像船和码头的关系,码头就是程序,船就是计算机,码头的工作效率高了,如果货物多了,大了,小船总是不能胜任,那么我们就要换大船,当有一天我们用油轮的时候,我们也许在为全世界人民服务……

     

       回到多线程,他就是码头开了好几个装配线,为多个船同时服务,如果我们只有一个运货车怎么办,这时,我们学的另外一个科目就派上了用场,就是作业调度,或者资源调度,调度算法也是生活的概括和总结,有先来先得,资源要求级别高先得,紧急情况高先得,等等算法,这里我们的知识网,向外扩充了一步!

       总结:多线程是个解决问题的思路,具体的实现要和实际情况相验证,要考虑好需求和本身的条件等等,要从多个方面综合运用我们学到的知识!

     

     

  • 相关阅读:
    《构建之法》读后感 二
    求数组最大子数组的和(循环数组)
    求数组最大子数组的和
    《构造之法》阅读笔记一
    2019春季学期学习进度报告(一)
    软件工程开课博客
    个人NABCD
    《构建之法》阅读笔记02
    大二下学期学习进度(六)
    《构建之法》阅读笔记01
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3199155.html
Copyright © 2020-2023  润新知