免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4222 | 回复: 14
打印 上一主题 下一主题

问一个关于内存的简单问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-13 09:08 |只看该作者 |倒序浏览
看到过很多程序用进行内存分配,很想知道,这样做目的是什么呢?我们可不可以管理内存呢?用c可否实现?比如说将某个内存分配给某个线程使用?

论坛徽章:
0
2 [报告]
发表于 2009-10-13 09:12 |只看该作者
楼主自己写的程序太少,等你写多了,就不会问这种问题了。

实际上管理内存的操作,属于操作系统的事情。而程序,只是向系统申请使用,使用完了还给系统罢了。
我们自己管理内存,分配给哪个程序,是没有必要的,也是没事儿找事儿的。操作系统也是不允许的!
用C当然可以实现自己管理内存,C就是与硬件接合紧,要自己管理内存,所以才会有内存泄漏,成为一些不会用C的人攻击C的把柄!

论坛徽章:
0
3 [报告]
发表于 2009-10-13 09:17 |只看该作者

回复 #2 naihe2010 的帖子

呵呵,其实是看到所谓的共享式分布内存管理,就是在多线程编程时候用到的一种折中的方法。可是老是想不到解决的方法。我也知道普通的程序是由操作系统管理的。可我这里可能就是要进行内存管理吧. 不知道如何将内存去划分给各个线程使用,就是说自己去调度。

论坛徽章:
0
4 [报告]
发表于 2009-10-13 09:41 |只看该作者
原帖由 yzzzy2003 于 2009-10-13 09:08 发表
看到过很多程序用进行内存分配,很想知道,这样做目的是什么呢?我们可不可以管理内存呢?用c可否实现?比如说将某个内存分配给某个线程使用?

内存在整个进程内是共享的,不能专属于某个线程


这就是进程和线程的区别

论坛徽章:
0
5 [报告]
发表于 2009-10-13 11:38 |只看该作者
有些项目是自己做一个memory pool的管理模块,把系统调用封装起来,批发零售,这样效率高。

论坛徽章:
0
6 [报告]
发表于 2009-10-13 13:13 |只看该作者
ls能不能解释清楚些呢?呵呵,我这里的线程是重量级线程 ,也就是单线程

论坛徽章:
0
7 [报告]
发表于 2009-10-13 13:25 |只看该作者
楼主的意思是自己开始先申请很大块内存,自己管理这片内存区?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2009-10-13 15:26 |只看该作者
原帖由 gawk 于 2009-10-13 13:25 发表
楼主的意思是自己开始先申请很大块内存,自己管理这片内存区?

每次看到你的签名的时候,都觉得是对 Python 的一种嘲讽。

论坛徽章:
0
9 [报告]
发表于 2009-10-13 15:28 |只看该作者

需要的时候申请点吧!
不要的时候就记得还了吧!

论坛徽章:
0
10 [报告]
发表于 2009-10-13 17:45 |只看该作者
原帖由 gawk 于 2009-10-13 13:25 发表
楼主的意思是自己开始先申请很大块内存,自己管理这片内存区?


好像就是这意思吧,大致操作系统也就这么干活
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP