美文网首页
协程是什么

协程是什么

作者: 思考的小妮子 | 来源:发表于2019-08-14 13:46 被阅读0次

进程是什么呢?

直白地讲,进程就是应用程序的启动实例。比如我们运行一个游戏,打开一个软件,就是开启了一个进程。

进程拥有代码和打开的文件资源、数据资源、独立的内存空间。

线程又是什么呢?

线程从属于进程,是程序的实际执行者。一个进程至少包含一个主线程,也可以有更多的子线程。

线程拥有自己的栈空间。

对操作系统来说,线程是最小的执行单元,进程是最小的资源管理单元。

无论进程还是线程,都是由操作系统所管理的。

什么是协程

协程,英文Coroutines,是一种比线程更加轻量级的存在。正如一个进程可以拥有多个线程一样,一个线程也可以拥有多个协程。

最重要的是,协程不是被操作系统内核所管理,而完全是由程序所控制(也就是在用户态执行)。

这样带来的好处就是性能得到了很大的提升,不会像线程切换那样消耗资源。

其中 yield 是python当中的语法。当协程执行到yield关键字时,会暂停在那一行,等到主线程调用send方法发送了数据,协程才会接到数据继续执行。

但是,yield让协程暂停,和线程的阻塞是有本质区别的。协程的暂停完全由程序控制,线程的阻塞状态是由操作系统内核来进行切换。

因此,协程的开销远远小于线程的开销。

Python语言

正如刚才所写的代码示例,python可以通过 yield/send 的方式实现协程。在python 3.5以后,async/await 成为了更好的替代方案。

什么是协程

相关文章

  • Kotlin 协程入门

    本文主要介绍协程长什么样子, 协程是什么东西, 协程挂起的实现原理以及整理了协程学习的资料. 协程 HelloWo...

  • 协程

    1.协程 协程,又称微线程,纤程。英文名Coroutine。 1.1 协程是什么 协程是python个中另外一种实...

  • 协程介绍

    协程 协程,又称微线程,纤程。英文名Coroutine。 1.协程是什么? 协程是python个中另外一种实现多任...

  • Android的协程(Coroutines)基础概念

    最近学习了下协程,在这里分享一下我自己的理解。 1、协程是什么? 在定义协程是什么之前,我们应该先知道协程是做什么...

  • Android中对Kotlin Coroutines(协程)的理

    一、协程是什么、协程的作用是什么 本质上Kotlin协程是一个库,就像RxJava、Butterknife这些第三...

  • kotlin协程

    1:什么是协程,kotlin协程是什么。 2:kotlin开启协程的方式 launch async+await两...

  • Kotlin协程它不香吗?

    本博客的目的: 知道Kotlin协程是什么,为什么要用Kotlin协程 快速上手Kotlin协程 抓住核心,避免被...

  • 21. Go 协程

    21. Go 协程 Go 协程是什么? Go 协程是与其他函数或方法一起并发运行的函数或方法。Go 协程可以看作是...

  • 认识协程

    1、协程是什么? 协程基于线程,它是轻量级线程。协程让异步逻辑同步化,杜绝回调地狱。协程最核心的点就是,函数或者一...

  • Android Kotlin协程初探

    协程概述: 为什么需要协程,协程是什么?为什么需要协程:从操作系统发展历史角度入手:真空管+穿孔卡片工作机制:程序...

网友评论

      本文标题:协程是什么

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