您的位置:首页 > 其它

软件开发中的资源控制问题学习

2013-09-30 17:50 260 查看
软件特别是一些较大的软件都是由很多很多模块组成的,

SW = A + B + C + D + E + ...

而我们知道,这些模块几乎不会同时处于运行状态。

一般情况下,可能只有一个或其中几个模块处在同时运行中。

如果在软件启动时就将这些模块全部初始化,

其好处是因为所有的模块都已经被初始化了,所以当要运行其中某个模块时可以快速的运行起来;

但我们知道内存在系统中总是紧俏资源(大部分的系统中配置的内存都不会是充裕的),

所以也就可能会带来两个问题:

1. 所有模块全部初始化,可能会导致软件启动时间变长;

2. 所有模块全部初始化,可能会导致内存紧张进而导致系统性能降低。

那要如何解决这种问题呢?

1. 在软件启动时,仅仅去初始化必须的模块;

2. 对于优先级不高同时比较耗时但是软件启动后也必须要初始化的,

创建一个低优先级的线程在后台"慢慢的"去运行;

3. 对于一些占用资源较多的模块,采用动态的方法分配和释放资源,

启动模块时分配资源,退出模块时将资源释放出去。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: