
os
kakaweb
这个作者很懒,什么都没留下…
展开
-
并发与运行时调度(3) - 线程 vs. 协程
在之前的文章中,对于多线程程序在操作系统中的调度问题已经做了一定的介绍,详见:https://blog.youkuaiyun.com/kakaweb/article/details/102214586当处于running状态的线程进行系统调用、阻塞io、获取锁等操作时,将进入blocking状态,将cpu core出让给其它处于runnable状态的线程,这一过程被称为上下文切换,需要保存stack、...原创 2019-10-20 00:12:21 · 302 阅读 · 0 评论 -
并发与运行时调度(1) - 操作系统线程调度
作为一种提高计算机多任务处理能力的方法,多线程编程已经得到了广泛的应用,同时主流编程语言也已提供完备的支持。然而由于任务类型、运行环境的变化,多线程程序的执行效率存在巨大的差别。因此有必要理解操作系统对于多线程任务的调度模型和相关算法,以此加深对底层运行机制的理解,产出更优秀的程序设计。本文中的相关模型均以linux系统为例。指令执行首先,我们需要了解任何语言写出的代码如何被操作系...原创 2019-10-09 22:35:20 · 807 阅读 · 0 评论 -
并发与运行时调度(2) - cpu local cache
在系统运行中,我们常常忽视cpu local cache miss/hit带来的性能差异,因此,有必要了解cpu local cache的工作机制,为高性能程序的开发提供理论指导。存储体系结构通常来说,现代计算机存储结构基本可分为如下等级:register ->local cache -> memory -> disk storage,其中local cache可能...原创 2019-10-10 23:18:59 · 352 阅读 · 0 评论