摘要: 1.编译型语言和解释型语言 1.1 编译型语言 定义:在程序运行之前,通过编译器将源程序编译成机器码(可运行的二进制代码),以后执行这个程序时,就不用再进行编译了。 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高,可以脱离语言环境独 阅读全文
posted @ 2023-02-20 22:34 小家电维修 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 1.关于上下文切换的几个为什么 1、上下文切换是什么? 上下文切换是对任务当前运行状态的暂存和恢复 2、为什么CPU要进行上下文切换 当多个进程竞争CPU的时候,为了保证每个进程可以公平被CPU调用,采用处理任务按时间分片的机制,当某个时间片上的任务达到最后的时间点,那么这个任务就好被挂起,处理下一 阅读全文
posted @ 2023-02-20 20:26 小家电维修 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 最近经常有小伙伴问到的一些问题,比较集中的是关于CPU切换. 实际用C/C++,go开发,你会特别注意内存和CPU的使用情况,那些对于CPU使用情况特别关注,或者性能特别关注的朋友可以看看这篇文章,相信看完结尾的示例,能对你优化CPU资源使用有帮助。 我们都知道CPU上下文切换,会增加系统负载。那什 阅读全文
posted @ 2023-02-20 19:49 小家电维修 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1.上下文切换的含义 其实在单个处理器的时期,操作系统就能处理多线程并发任务。处理器给每个线程分配 CPU 时间片(Time Slice),线程在分配获得的时间片内执行任务。 CPU 时间片是 CPU 分配给每个线程执行的时间段,一般为几十毫秒。在这么短的时间内线程互相切换,我们根本感觉不到,所以看 阅读全文
posted @ 2023-02-20 19:39 小家电维修 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 上下文切换指的是内核操作系统的核心在CPU上对进程或者线程进行切换。 搞清楚上下文切换需要先搞清楚什么是上下文 CPU在开始执行任务时需要先知道从哪里去加载任务,从哪里开始执行,上下文的作用就是告诉CPU这些。(通常是由程序计数器和CPU寄存器来完成) 那为什么需要上下文切换呢? 一般线程的个数都大 阅读全文
posted @ 2023-02-20 19:22 小家电维修 阅读(132) 评论(0) 推荐(0) 编辑