社区
Linux/Unix社区
帖子详情
关于进程、线程和SOCKET资源释放的问题
Artist_jim
2012-04-11 12:53:18
首先关于SOCKET的,假如创建了多个SOCKET,然后主函数 return 返回后,系统会不会自动释放那些SOCKET的资源,如果是手动关闭程序呢?
再来是关于进程和线程的,加入手动关闭程序,不是通过调用释放资源的函数和return ,系统会不会自动释放资源?
如果可以的话,能给些详细的信息?如果能说下系统释放资源的一些规则那就更好了。谢谢
...全文
484
7
打赏
收藏
关于进程、线程和SOCKET资源释放的问题
首先关于SOCKET的,假如创建了多个SOCKET,然后主函数 return 返回后,系统会不会自动释放那些SOCKET的资源,如果是手动关闭程序呢? 再来是关于进程和线程的,加入手动关闭程序,不是通过调用释放资源的函数和return ,系统会不会自动释放资源? 如果可以的话,能给些详细的信息?如果能说下系统释放资源的一些规则那就更好了。谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shenyan008
2012-04-12
打赏
举报
回复
socket是内核维护的,当打开一个socket再fork的时候,这个socket的内核引用计数为2,关闭一个进程后,该socket的引用计数为1,该socket不会被内核释放;比如:用于侦听的socket;
惬意
2012-04-11
打赏
举报
回复
linux系统中的每一个进程在终止了之后都会执行一段相同的代码,而这段代码就是用来释放资源的,比如进程打开的文件描述符。。。
恨天低
2012-04-11
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:
进程退出时,所有的资源都会释放的,一了百了
在进程中new/malloc一块内存,然后没去delete/free。进程退出,所占的内存资源会释放??
[/Quote]
会的。
恨天低
2012-04-11
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
进程退出时,所有的资源都会释放的,一了百了
[/Quote]
在进程中new/malloc一块内存,然后没去delete/free。进程退出,所占的内存资源会释放??
liujj619
2012-04-11
打赏
举报
回复
通通释放,进程都没了,所有的资源也就不复存在了!
justkk
2012-04-11
打赏
举报
回复
进程退出时,所有的资源都会释放的,一了百了
akainixing
2012-04-11
打赏
举报
回复
楼上正解,会释放,SOCKET建立起来的缓冲区会被刷新,然后释放……
线程
与
socket
句柄
上午听同事讨论关于
线程
退出的时候是否需要关闭
socket
句柄的
问题
,之前都是在讨论
进程
退出时,
进程
会
释放
所占有的所有
资源
,当然也包括
socket
句柄
资源
,关于这点相信大部分人也相当的清楚。 关于
线程
退出时,
socket
句柄是否也会自动的关闭,我个人认为
线程
不会自动关闭
socket
句柄在
线程
退出时,因为
线程
是公用
进程
的
资源
,
进程
会自动
释放
资源
很显然
线程
就不太可能
释放
资源
。为此我个人做了一个简单的测试: #include #include #include void *threadfunc(v
java
释放
线程
资源
_Java
线程
之
释放
锁,
释放
资源
,
释放
CPU
多
线程
中的wait与sleep到底谁
释放
了锁首先,多
线程
中会使用到两个延迟的函数,wait和sleep。wait是Object类中的方法,而sleep是Thread类中的方法。sleep是Thread类中的静态方法。无论是在a
线程
中调用b的sleep方法,还是b
线程
中调用a的sleep方法,谁调用,谁睡觉。最主要的是sleep方法调用之后,并没有
释放
锁。使得
线程
仍然可以同步控制。sleep不会让出...
线程
和
进程
有什么区别(简单介绍)
线程
和
进程
有什么区别(简单介绍) 简单介绍 一、
线程
的基本概念
线程
是
进程
中执行运算的最小单位,是
进程
中的一个实体,是被系统独立调度和分派的基本单位,
线程
自己不拥有系统
资源
,只拥有一点在运行中必不可少的
资源
,但它可与同属一个
进程
的其它
线程
共享
进程
所拥有的全部
资源
。一个
线程
可以创建和撤消另一个
线程
,同一
进程
中的多个
线程
之间可以并发执行。 ...
进程
和
线程
的区别与联系
1、
进程
和
线程
的区别与总结 根本区别:
进程
是操作系统
资源
分配的基本单位,
线程
是处理器(CPU)任务调度和执行的基本单位
资源
开销:每个
进程
都有独立的代码和数据空间(程序的上下文)程序之间的切换会有较大的开销; 同一类
线程
共享代码和数据空间,每个
线程
都有自己独立运行的栈和程序计数器(PC),
线程
之间的切换开销小 包含关系:一个
进程
有多个
线程
,执行过程由多个
线程
共同完成 内存分配:同一个
进程
的
线程
共享本
进程
的地址空间和
资源
;
进程
之间的地址空间和
资源
是相互独立的; ...
完全
释放
socket
资源
,以便重连的方法。
服务器限制了只能有一个连接。关闭连接时,使用如下代码都无法
释放
TCP
资源
: try { if (this.client
Socket
== null) return; //this.client
Socket
.Shutdown(
Socket
Shutdown.Both); this.client
Socket
.Disconnect(false); //this.clie...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章