Temp

7805 bookmarks
Custom sorting
【译文】Go 1.18发布说明
【译文】Go 1.18发布说明
原文地址:https://tip.golang.org/doc/go1.18原文作者:http://golang.org介绍 Go 1.18Go最新release,版本1.18,是一个重大的release,包含了语言上的改变,工具链、runtime和库的实现。Go 1.18在 Go 1.17发布7…
·zhuanlan.zhihu.com·
【译文】Go 1.18发布说明
Go 1.18中值得关注的几个变化 | Tony Bai
Go 1.18中值得关注的几个变化 | Tony Bai
本文永久链接 - https://tonybai.com/2022/04/20/some-changes-in-go-1-18 从3月23日开始,我居家办公了20+天。这期间我本来是应该有时间写下这篇综述类文章的,但是封了两天后,抢菜、带娃的事情就开始困扰着
·tonybai.com·
Go 1.18中值得关注的几个变化 | Tony Bai
VsCode Go插件配置最佳实践指南
VsCode Go插件配置最佳实践指南
近期组内小伙伴的idea激活码陆续过期,经过挨个指导后,总结成此文,希望对大家在切换到vscode来编写go代码有点微小的帮助. 原理VsCode Go插件的工作原理与其它的ide是不一样的,比如idea(goland),它是通过一系…
·zhuanlan.zhihu.com·
VsCode Go插件配置最佳实践指南
Go 语言调度器与 Goroutine 实现原理
Go 语言调度器与 Goroutine 实现原理
6.5 调度器 # 各位读者朋友,很高兴大家通过本博客学习 Go 语言,感谢一路相伴!《Go语言设计与实现》的纸质版图书已经上架京东,有需要的朋友请点击 链接 购买。 Go 语言在并发编程方面有强大的能力,这离不开语言层面对并发编程的支持。本节会介绍 Go 语言运行时调度器的实现原理,其中包含调度器的设计与实现原理、演变过程以及与运行时调度相关的数据结构。 谈到 Go 语言调度器,我们绕不开的是操作系统、进程与线程这些概念,线程是操作系统调度时的最基本单元,而 Linux 在调度器并不区分进程和线程的调度,它们在不同操作系统上也有不同的实现,但是在大多数的实现中线程都属于进程: 图 6-25 进程和线程 多个线程可以属于同一个进程并共享内存空间。因为多线程不需要创建新的虚拟内存空间,所以它们也不需要内存管理单元处理上下文的切换,线程之间的通信也正是基于共享的内存进行的,与重量级的进程相比,线程显得比较轻量。 虽然线程比较轻量,但是在调度时也有比较大的额外开销。每个线程会都占用 1M 以上的内存空间,在切换线程时不止会消耗较多的内存,恢复寄存器中的内容还需要向操作系统申请或者销毁资源,每一次线程上下文的切换都需要消耗 ~1us 左右的时间1,但是 Go 调度器对 Goroutine 的上下文切换约为 ~0.2us,减少了 80% 的额外开销2。 图 6-26 线程与 Goroutine Go 语言的调度器通过使用与 CPU 数量相等的线程减少线程频繁切换的内存开销,同时在每一个线程上执行额外开销更低的 Goroutine 来降低操作系统和硬件的负载。 6.5.1 设计原理 # 今天的 Go 语言调度器有着优异的性能,但是如果我们回头看 Go 语言的 0.x 版本的调度器会发现最初的调度器不仅实现非常简陋,也无法支撑高并发的服务。调度器经过几个大版本的迭代才有今天的优异性能,历史上几个不同版本的调度器引入了不同的改进,也存在着不同的缺陷: 单线程调度器 · 0.x 只包含 40 多行代码; 程序中只能存在一个活跃线程,由 G-M 模型组成; 多线程调度器 · 1.
·draveness.me·
Go 语言调度器与 Goroutine 实现原理
一文搞懂进程、线程、协程及JS协程的发展 - 掘金
一文搞懂进程、线程、协程及JS协程的发展 - 掘金
除了协程,通过本文你将对进程、线程、并发有一定的了解...协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的**轻量级线程**,协程的调度完全由用户控制(进程和
·juejin.cn·
一文搞懂进程、线程、协程及JS协程的发展 - 掘金
一文读懂什么是进程、线程、协程 - 回首笑人间 - 博客园
一文读懂什么是进程、线程、协程 - 回首笑人间 - 博客园
[TOC] 进程   我们都知道计算机的核心是CPU,它承担了所有的计算任务;而操作系统是计算机的管理者,它负责任务的调度、资源的分配和管理,统领整个计算机硬件;应用程序则是具有某
·cnblogs.com·
一文读懂什么是进程、线程、协程 - 回首笑人间 - 博客园
一文讲透 “进程、线程、协程” - 掘金
一文讲透 “进程、线程、协程” - 掘金
本文从操作系统原理出发结合代码实践讲解了以下内容:什么是进程,线程和协程?它们之间的关系是什么?为什么说Python中的多线程是伪多线程?不同的应用场景该如何选择技术方案?...什么是进程进程-操作系
·juejin.cn·
一文讲透 “进程、线程、协程” - 掘金
一文让你明白CPU上下文切换
一文让你明白CPU上下文切换
我们都知道,Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。 …
·zhuanlan.zhihu.com·
一文让你明白CPU上下文切换
介绍 - Rust精选
介绍 - Rust精选
The roots aren't deep but the seeds are planted!
·rustmagazine.github.io·
介绍 - Rust精选
Github Language Stats
Github Language Stats
This website shows the popularity of programming languages on GitHub over time.
·madnight.github.io·
Github Language Stats