社区
进程/线程/DLL
帖子详情
共享内存需要释放吗?
csuc20
2006-12-19 02:51:27
几个程序之间公用一个共享内存区,单个程序退出时需要释放共享内存吗?
我原来的操作是每个程序退出之前都释放了的,没什么问题。但是最近调试的时候发现报内存不能为Read的错误,不同之处在于其中有个程序终止了另外一个程序,用TerminateProcess()。请大家帮忙分析下原因。
...全文
1538
9
打赏
收藏
共享内存需要释放吗?
几个程序之间公用一个共享内存区,单个程序退出时需要释放共享内存吗? 我原来的操作是每个程序退出之前都释放了的,没什么问题。但是最近调试的时候发现报内存不能为Read的错误,不同之处在于其中有个程序终止了另外一个程序,用TerminateProcess()。请大家帮忙分析下原因。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oyljerry
2006-12-21
打赏
举报
回复
全部都不用了的时候,释放,以免各种resource leak
blastzgd
2006-12-21
打赏
举报
回复
引用计数.
bjtwtx
2006-12-19
打赏
举报
回复
两步都是必须的,这样才能完全释放共享内存
bjtwtx
2006-12-19
打赏
举报
回复
不用了要调用unmapviewoffile和closehandle的
王国凡
2006-12-19
打赏
举报
回复
>共享内存是用CreateFileMapping创建的。如果不释放,系统会自动释放吗?
-----------------------------------
系统不会自动释放
每次你 ::MapViewOfFile 后, 需要 ::UnmapViewOfFile , 所有程序不用了的时候, 需要用 CloseHandle 把共享内存关掉, 并把它置为 NULL .
蒋晟
2006-12-19
打赏
举报
回复
Not as long as all handles on the file mapping are closed eventually (doesn't matter by which component) and all views unmapped.
csuc20
2006-12-19
打赏
举报
回复
共享内存是用CreateFileMapping创建的。如果不释放,系统会自动释放吗?
jacklzw88
2006-12-19
打赏
举报
回复
释放是肯定要释放的,只是要知道到底还有没有必要给别的程序提供
王国凡
2006-12-19
打赏
举报
回复
搞个引用计数, 等所有程序都退出了再释放共享内存. 或者按你原来的方法, 每个程序退出时, 自己释放自己占用的内存 .
高性能Web服务器Nginx实战(反向代理+负载均衡+Session共享)
通过本次课程学习,同学们能掌握到Nginx的安装(基于Linux), 配置,反向代理、正向代理、负载均衡及防盗链与防DDOS攻击等,同时基于Spring Boot讲解在Web集群环境中,如何解决Session共享问题。
共享内存
(一)——
共享内存
的创建与
释放
由于进程通信的本质是要让两个不同的进程看到同一份资源,我们可以在物理内存上开辟一块空间,这块空间被称为
共享内存
,然后让这两个进程通过某种方式都能访问到这块内存,这样的话,两个进程之间就可以通信了。
创建
共享内存
后,进程结束,
共享内存
是否会消失?
管道、socket、
共享内存
、消息队列、信号量等,是属于内核级的,一旦创建后就由内核管理,若进程不对其主动
释放
,那么这些变量会一直存在,除非重启系统。
Linux的
共享内存
的查看和
释放
转载:Linux的
共享内存
的查看和
释放
_obscure mood的博客-CSDN博客_linux
释放
共享内存
Linux的
共享内存
的查看和
释放
1.查看
共享内存
,使用命令:ipcs -m 2.删除
共享内存
,使用命令:ipcrm -m [shmid] 3.删除信号量 ,使用命令:ipcrm -s [shmid] 使用如下: 删除
共享内存
区 ipcrm -m 262144 说明: 1、key:
共享内存
的key 2、shmid:
共享内存
的编号 3、owner:
共享内存
的创建用户 4、.
windows
共享内存
的申请与
释放
【学习笔记】
共享内存
多个进程都可以访问,又称为映射内存 创建
共享内存
需要
的函数: 第一步:CreateFileMapping :准备物理内存(物理页),可以把一个文件映射到具体的物理页上。这个函数执行完了后,
需要
的物理页已经准备好了,但是这个物理页与当前的进程还没关联。 第二步:MapViewOfFile: 把准备好的物理页与进程关联起来 第一个参数是文件句柄,如果不
需要
映射到文件,可以填无效的文件句柄,值是 -1 用完后的处理 另外一个程序可以使用这个
共享内存
,通过MapViewOffile来控制程
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章