多线程笔记(一):为什么要用到多线程

     自我开始工作来,多线程这个概念一直缠绕不去,几乎是不懂得多线程就是什么令人感到耻辱的事情,但是说归说,究竟为什么要用多线程,总得弄个清楚。

    多线程的主要是平衡CPU空时间片与繁重任务的作用,提高利用率。

   安利一下《计算机操作系统》书本概念:

    并发性:两个或多个事件在同一时间间隔内发生(doing ,一个人同样的时间做N多事情,赚翻)

    并行性:两个或多个事件在同一时刻发生(多个人在同一时间各分开做各自事情)

 

 其实也有例子比如说,我们网页端开发的时候,提交表单存在:①同步 ②异步 的说法

   (ps:其实日常的servlet就是一个很好的体现)

       同步:如果未得到服务器响应,页面会一直卡住

       异步:  直到服务器做出反应或超时,才执行结果

    这里可以引入一个阻塞的说法,直到目标执行完成后,才进行处理,这样,中间便存在等待的时间,切换到系统而言,我们收到一条请求,需要等待此请求完成后才去处理下一条的话,效率太低,能服务的对象也太少,也浪费了服务器的性能,空闲了许多闲置时间片。

ps:    但是也要考虑一下系统余量运算力,不然效果也是没有的,水就这么多,无论怎么拧开水龙头也就这个样子,

 

 场景:

(1)    拆分大运算功能使用:

       类似于hadoop的方式,不过一个可以分机器充分利用,一个主要用于本机器拆分运算

 (2) 定时器与监听任务

       为了达到不同的目的,这两个其实都是常用而无意识到也算是线程的应用

你可能感兴趣的:(多线程)