美文网首页
入坑多线程

入坑多线程

作者: Liveup | 来源:发表于2020-03-27 11:03 被阅读0次

    一、线程与进程

    进程(process)是 CPU 分配资源的基本单位,拥有独立的内存空间和资源,而线程(thread)是 CPU 调度的基本单位。
    一个进程可以有多个线程,线程可以想象成是进程请来做事的工人。

    二、为什么需要多线程

    我们都知道 CPU 的速度实在是太快了,内存硬盘网络 完全拍马不及,而且现代 CPU 大多都已升级为多核CPU,这也为多线程的施行创造了条件。

    多线程的出现就是为了解决由于 CPU 飞快的运行速度与 IO 缓慢读取之间的差距而造成的性能过剩。简而言之,多线程是为了更好地、更充分地利用 CPU
    如:在保存一个庞大的word文档时,将该任务交给一个线程去执行,主线程维持正常的操作,不会造成保存时界面卡死的情况。

    有的小伙伴可能想那用多进程不就好了,但是进程与进程之间是没法共享数据的。

    三、多线程带来了什么问题

    多线程可以看做是:将复杂的任务拆分,交给多个不同的工人(线程)去完成不同的部分,那完成之后的结果要如何收集汇总呢?

    当然是通过操作共享变量来完成,而这就是多线程几乎所有问题的起源 —— 变量紊乱,即程序执行完成后,共享变量的值不可预期。

    解决方法:加锁解锁

    相关文章

      网友评论

          本文标题:入坑多线程

          本文链接:https://www.haomeiwen.com/subject/hlfluhtx.html