协程相比线程到底好在哪里?

在这里插入图片描述
协程虽然被提出的时间很早,但是使用它的年限很短。尤其是最近几年,随着 Go、Lua 等语言的流行,把协程推向了一个新的高潮。

在所有语言中都存在着层级调用,比如 A 调用 B,B 在执行过程中又调用了 C,C 执行完毕返回,B 执行完毕返回,最后是 A 执行完毕。

这种方法、函数、子程序(或者称为函数,与方法一样,只是不同的叫法)的调用方式都是是通过栈实现的,一个线程就是执行一个子程序。

子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。

协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。

例如,我现在有两个方法 a 和 b,代码如下:

在这里插入图片描述
上面代码如果由协程来执行,那么在执行 a 的过程中,可以随时中断,去执行 b,b 也可能在执行过程中中断再去执行 a,所以,最终的结果可能是:
在这里插入图片描述
但是,在上面的代码中,并没有在 a 方法中调用 b。执行结果就像两个线程在并发执行。但其实,通过协程执行用的是一个线程,只不过这个线程看起来有点“到处乱跑”。

协程和线程相比,有三个比较明显的优势。

1、减少了线程切换的成本。Java 中的线程,不管是创建还是切换,都需要较高的成本。子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。这也就是说,协程的效率比较高。

2、协程的第二大优势就是,不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。

3、协程更轻量级。创建一个线程栈大概需要 1M 左右,而协程栈大概只需要几 K 或者几十 K。

有优势也有劣势,因为前面的程序看起来在“上串下跳”,所以,协程看起来也没那么好控制。

但是不管怎么说,越来越多的语言都在引入协程。Java 中的 OpenSDK 中的 Loom 项目就是为协程而生。甚至可以幻想一下,不久的将来,Java 一定会拥抱协程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24795.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-4:不了不了,这些我还做不到

ChatGPT的余波未平,GPT-4的风波又起。这次GPT-4的全新升级,再一次突破了技术的壁垒,很快受到众人的追捧: 有人说GPT-4的出现是场变革,但也许只是对人工智能的过度炒作; 有人说GPT-4可以直接生成好莱坞电影&…

【满血Buff】ChatGPT科普篇,三段式介绍

【满血Buff】ChatGPT科普篇,三段式介绍,内含各种高效率插件 1、ChatGPT是什么2、为什么要掌握ChatGPT效能工具3、ChatGPT能做什么 本篇博客采用三段论的叙事方式进行时下流行的人工智能工具ChatGPT的科普。 1、ChatGPT是什么 ChatGPT是Chat Generated b…

ChatGPT 又一波王炸更新!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 令很多人都没想到的是,在过去的一两个月时间,AIGC 的热度看似有所下降,但其实是各个 AI 科技公司都在养精蓄锐憋大招。甩手便是王炸,不鸣则已…

一位同学拿到 亚马逊 offer 的经历 (毫无保留)

之前分享过很多国内的互联网公司的面试心得,这几天看到一位同学面试外企的心得,写的很全面,换个视角看看国外互联网是怎么面试人才的。 从这 5 个方向进行了总结:算法刷题、简历、系统设计、面试技巧、offer沟通。 希望对想去外企…

深圳内推 | 粤港澳大湾区数字经济研究院招聘NLP/多模态算法实习生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! IDEA研究院 粤港澳大湾区数字经济研究院(International Digital Economy Academ…

北京内推 | 微软亚洲研究院DKI组招聘大模型方向研究实习生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 微软亚洲研究院 Cloud Intelligence组是微软亚洲研究院DKI (Data, Knowledge & Intelli…

香港大学赵恒爽老师招收计算机视觉博士/博士后/研究助理

导师信息 赵恒爽博士 (www.cs.hku.hk/~hszhao) 是香港大学计算机科学系的助理教授,研究方向为计算机视觉、机器学习和人工智能。赵老师此前分别在麻省理工学院 Antonio Torralba 教授组和牛津大学 Philip Torr 教授组开展博士后研究。他博士毕业于香港中文大学&…

香港大学招聘研究助理、软件工程师和博士生

来源:机器之心 导师简介 余涛 (Tao Yu) 是香港大学计算机科学助理教授,共同领导港大自然语言处理实验室 (HKUNLP)。他于 Yale 博士毕业,在 UW NLP 访问一年,曾获得 2021 Amazon Research Award。他的研究旨在设计和构建基于大型语…

何恺明大神回归学界,网友:要成全MIT引用最高的人了

梦晨 Alex 发自 凹非寺来源 | 量子位 AI大牛何恺明有了最新动向,而且是回归学术界。 MIT CSAIL实验室发布公告,3月13日下周一,何恺明将到MIT做学术演讲。 此事引起AI圈广泛关注。在相关知乎问题下,MIT博士Charles指出,…

通用人工智能:定义、范围和作为早期 AGI 的 ChatGPT

通用人工智能 (AGI) 一直是人工智能研究领域内备受关注和争论的话题,尤其是自 GPT-4 推出以来。通用人工智能 (AGI) 代表在软件中模拟人类认知能力。因此,使 AGI 系统能够找到解决不熟悉任务的方法。AGI 的最终目标是执行人类可以完成的任何任务&#xf…

当医疗健康遇上ChatGPT,会碰撞出什么样的火花?

最近,ChatGPT刷屏朋友圈,人工智能(AI)再一次颠覆了人们的想象。当先进的人工智能技术遇上医疗健康行业,又会碰撞出什么样的火花? 什么是ChatGPT ChatGPT是美国一家名为OpenAl的人工智能公司在2022年11月发布…

模型转换、模型压缩、模型加速工具汇总

目录 一、场景需求解读二、模型转化工具汇总 1、模型转换工具的作用2、模型转换工具简介 1、MMdnn2、 ONNX3、 X2Paddle 三、模型压缩和加速工具汇总 1、模型压缩加速工具的作用2、模型压缩加速工具简介 1、PocketFlow3、distiller4、TVM5、tflite6、ncnn7、MNN8、OpenVIO9、T…

树莓派与STM32之间串口通信

目录 一、树莓派串口通信模块介绍 二、树莓派蓝牙、串口引脚映射对换步骤 1.启动串口 2. 禁用蓝牙(硬件串口与mini串口映射对换) 3.验证是否交换成功 三、树莓派安装mini串口调试助手 四、树莓派与电脑串口调试 五、树莓派与STM32串口调试 一、树…

【python】选择合适的机器学习模型

文章目录 1. python包:lazypredict1.1 安装lazypredict1.2 使用lazypredict 2. 选择模型3. 常用第三方库 1. python包:lazypredict lazypredict包功能:了解哪些模型在没有任何参数调整的情况下效果更好 1.1 安装lazypredict 直接用pip安装…

AI是什么?AI工具集网站大全

大家好,我是网媒智星,今天给大家总结了一些AI工具,希望能给大家提供帮助。 AI是什么? AI 是人工智能的缩写,指的是通过计算机技术和算法来实现智能的能力。我们人类的智能是基于我们的大脑所实现的,而 AI…

文心一言的魔性作图,我愣住了……

最近啊,关于智能AI的新闻,可以说是一波接着一波。 刚开始的时候是关于AI绘画工具的,一键合成小姐姐,秒变插画大佬,只需要简单的输入几行描述就可以。 后来,ChatGPT爆火全网,且在程序员圈炸开了锅…

读者问:省厅选调 和 阿里开发岗怎么选?

经常有小伙伴问编程君:程序员年龄大了,要不要转公务员? 于我而言,虽然能去个不错的互联网公司或者也可能进事业单位。但是一旦走上创业这个道路,真的就是不回路! 很多时候别人问我如何做选择? 我…

“快跑”一个月后,我们上手实测了一把 360 智脑大模型!

整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 一个多月前,360 集团官方正式宣布了基于 360 GPT 大模型开发的 360 智脑的到来。不过,彼时对于这款 AIGC 产品,周鸿祎曾评价道:360 AI 就像是个“孩子”&…

大厂技术高管如何融入创业公司

来自互联网公司技术高管的亲身经历与感悟 作者 | 日之崖 责编 | 朱珂欣 出品 | 思辨致知(ID:gh_66c6f63fe6b7) 我从 19 年 9 月从阿里巴巴离开,有幸加入了一家高速发展的创业公司,较好的完成了团队融入&#xff…

ChatGPT爆火后,怎样跳脱算力困局?

英特尔7大算力神器助力极致算力。 “请代替基金经理写一段年终总结”,“如何评价春节档电影大混战”,“请写出一段爬取网页内容的程序”……诸如此类问题,OpenAI开发的ChatGPT都可以给出一段“中肯”的回答。 2023年开年,全球AI领…