美文网首页
入坑多线程

入坑多线程

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

一、线程与进程

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

二、为什么需要多线程

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

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

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

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

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

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

解决方法:加锁解锁

相关文章

  • 入坑多线程

    一、线程与进程 进程(process)是 CPU 分配资源的基本单位,拥有独立的内存空间和资源,而线程(threa...

  • 入烘培坑的我,给你一个重要的建议!

    建议就是别入坑!别入坑!别入坑! 从生完大宝开始入坑,初为人母时母爱泛滥,决心给她作各种小零食,免遭...

  • Python多线程-thread.start_new_threa

    在使用python多线程的时候,踩到了主线程未等待多线程进程运行完成就结束,导致多线程无效的坑。后来想到自己写个全...

  • 关于懂你英语不得不说的事

    相信很多人跟我一样入坑了懂你英语。如果你还没有入坑的话,我希望你在入坑之前看看我这篇文章。 我是今年的1月2号入坑...

  • 手账

    第一次写手账哈哈,入坑了入坑了,有点丑

  • 入坑TypeScript(一):使用TypeScript写nod

    入坑TypeScript(一):使用TypeScript写node脚本爬取小说 一、为何入坑TypeScript?...

  • 入坑

    记录从今天开始,看能坚持多少天 2020年1月10日更新。从那天后,一天也没坚持住

  • 入坑

    发现一开始学习就会无限掉入各种坑,爬都爬不出来。 还是完美主义在作怪的,不然咧,本来是完完整整一条简单的线,一进入...

  • 入坑

    久久 2018年3月2日 11:24 昨天听了一天大佬的讲课,讲的都是干货,不收学费。 我有7个微信号,每个月收入...

  • 入坑

    最近总说要好好看本书,可是路过几次书店却还是忘了进去~~~~对自己好无语啊。 各种练笔,各种涂。 山下或许有宝藏,...

网友评论

      本文标题:入坑多线程

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