文章 2025-08-21 来自:开发者社区

Python生成器与迭代器:从内存优化到协程调度的深度实践

​免费领取编程教程:https://pan.quark.cn/s/876976d33a34一、从文件读取场景看内存痛点当处理一个10GB的日志文件时,传统列表推导式会一次性加载所有行到内存: 内存爆炸的错误示范 lines = [line.strip() for line in open('huge_log.txt')] # 触...

Python生成器与迭代器:从内存优化到协程调度的深度实践
文章 2024-08-27 来自:开发者社区

Golang协程goroutine的调度与状态变迁分析

前言 Go运行时的调度器其实可以看成OS调度器的某种简化版 本,一个goroutine在其生命周期之中,同样包含了各种状态的变换。弄清了这些状态及状态间切换的原理,对搞清整个Go调度器会非常有帮助。 以面是一张goroutine的状态迁移图,圆形框表示状态,箭头及文字信息表示切换的方向和条件: 状态 下面来简单分析一下, 其中状态 Gidle 在Go调度器代码中并没有被真正被使用到,...

Golang协程goroutine的调度与状态变迁分析
文章 2024-01-12 来自:开发者社区

GolangGMP模型 GMP(三):协程让出,抢占,监控与调度

理解我们已经知道,协程执行time.Sleep时,状态会从_Grunning变为_Gwaiting ,并进入到对应timer中等待,而timer中持有一个回调函数,在指定时间到达后调用这个回调函数,把等在这里的协程恢复到_Grunnable状态,并放回到runq中。那谁负责在定时器时间到达时,触发定时器注册的回调函数呢?其实每个P都持有一个最小堆,存储在P.timers中,用于管理自己的time....

GolangGMP模型 GMP(三):协程让出,抢占,监控与调度
文章 2024-01-10 来自:开发者社区

协程的调度实现与性能测试

那我怎么在简历里面写协程,协程这个东西实在真的太好用了,你可以跟很多东西结合到一起,比如说你们对文件,做文件操作可不可以用?好对文件操作,比如说你做日志落盘的时候,可不可以用协程来操作它也是可以的,比如说你对数据库的操作,对数据库的操作,还有包括像一些网络io的处理,这个文件的操作和网络io都是针对文件io来处理。然后我们尽量知道他用到哪里,协程怎么用到数据库?这是我们今天等一下跟大家讲到的讲到....

协程的调度实现与性能测试
文章 2022-12-11 来自:开发者社区

go一个协程安全协程调度的问题

看一段代码,请问输出什么?package main import "time" func main() { var testNum = 0 go func() { time.Sleep(10000) testNum = 1 }() for testNum == 0 { if testNum==1 { println("...

go一个协程安全协程调度的问题
问答 2022-05-12 来自:开发者社区

协程也有调度,为什么开销小?

协程也有调度,为什么开销小?

文章 2022-01-17 来自:开发者社区

[典藏版]深入理解Golang协程调度GPM模型

[TOC]本章节含视频版:一、Golang“调度器”的由来?(1) 单进程时代不需要调度器我们知道,一切的软件都是跑在操作系统上,真正用来干活(计算)的是CPU。早期的操作系统每个程序就是一个进程,知道一个程序运行完,才能进行下一个进程,就是“单进程时代”一切的程序只能串行发生。早期的单进程操作系统,面临2个问题:1.单一的执行流程,计算机只能一个任务一个任务处理。2.进程阻塞所带来的CPU时间....

[典藏版]深入理解Golang协程调度GPM模型
文章 2022-01-16 来自:开发者社区

[典藏版]深入理解Golang协程调度GPM模型

[TOC]深入理解Golang协程调度器GPM模型本章节含视频版:一、Golang“调度器”的由来?(1) 单进程时代不需要调度器我们知道,一切的软件都是跑在操作系统上,真正用来干活(计算)的是CPU。早期的操作系统每个程序就是一个进程,知道一个程序运行完,才能进行下一个进程,就是“单进程时代”一切的程序只能串行发生。早期的单进程操作系统,面临2个问题:1.单一的执行流程,计算机只能一个任务一个....

[典藏版]深入理解Golang协程调度GPM模型

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。