zoukankan      html  css  js  c++  java
  • 内存管理:动态内存分配

    在进程的地址空间中,代码区、常量区、全局数据区的内存在程序启动时就已经分配好了,它们大小固定,不能由程序员分配和释放,只能等程序运行结束由操作系统回收,这称为静态内存分配

    栈区和堆区的内存在程序运行期间可以根据实际需要来分配和释放,不用在程序刚启动就备足所有内存。这称为动态内存分配

    堆和栈的区别

    栈区内存由系统分配和释放,不受程序员控制。程序启动时会为栈区分配一块大小适当的内存,当函数中有较大的局部数组时,编译器就会在函数代码中插入针对栈的动态内存分配函数,这样函数被调用时才分配内存,不调用就不分配。所以栈内存的分配效率要高于堆。

    堆区内存完全由程序员控制,非常灵活。

    池化技术

    线程池的主要思想:先启动若干数量的线程,让它们处于睡眠状态,当接收到客户端的请求时,唤醒池中某个睡眠的线程,让它来处理客户端的请求,当处理完这个请求,线程又进入睡眠状态。

    所谓池化技术,就是进程先向操作系统申请过量的资源,然后自己管理,以备不时之需。之所以要申请过量的资源,是因为每次申请该资源都有较大的开销,不如提前申请好了,这样使用时就变得非常快捷。

  • 相关阅读:
    知乎
    热磁性储存系统转载
    超薄纳米纸张 比钢强250倍转载
    TFT LCD数据存储为BMP文件的C语言代码
    GPS NMEA0183协议详解 转载
    JPG文件结构分析转载
    SD/TF 引脚
    调试错误:No Algorithm found for(转载)
    STM32 USB IAP 步骤
    追踪“善恶有报” 解开生命健康福寿秘密(转载)
  • 原文地址:https://www.cnblogs.com/xiaobaizzz/p/12343459.html
Copyright © 2011-2022 走看看