zoukankan      html  css  js  c++  java
  • 软件开发中的资源控制问题学习

    软件特别是一些较大的软件都是由很多很多模块组成的,
    SW = A + B + C + D + E + ...
    而我们知道,这些模块几乎不会同时处于运行状态。
    一般情况下,可能只有一个或其中几个模块处在同时运行中。

    如果在软件启动时就将这些模块全部初始化,
    其好处是因为所有的模块都已经被初始化了,所以当要运行其中某个模块时可以快速的运行起来;
    但我们知道内存在系统中总是紧俏资源(大部分的系统中配置的内存都不会是充裕的),
    所以也就可能会带来两个问题:
    1. 所有模块全部初始化,可能会导致软件启动时间变长;
    2. 所有模块全部初始化,可能会导致内存紧张进而导致系统性能降低。

    那要如何解决这种问题呢?
    1. 在软件启动时,仅仅去初始化必须的模块;
    2. 对于优先级不高同时比较耗时但是软件启动后也必须要初始化的,
    创建一个低优先级的线程在后台"慢慢的"去运行;
    3. 对于一些占用资源较多的模块,采用动态的方法分配和释放资源,
    启动模块时分配资源,退出模块时将资源释放出去。

  • 相关阅读:
    知识收集
    代码片_笔记
    北理工软件学院2016程序设计方法与实践
    内存的初始化与清零问题
    LeetCode第七题
    KMP算法C代码
    在64位Linux上安装32位gmp大数库
    ASN1编码中的OID
    迷宫问题
    64位linux编译32位程序
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3348098.html
Copyright © 2011-2022 走看看