c#里文件流filestream里的close有什么用?

c#里文件流filestream里的close有什么用?,第1张

close的作用就是关闭文件流。\r\n如果你开启了文件流在读取一个文件却没有close,那么这个文件一直被你的程序在占用。别人就无法再 *** 作这个文件。(当然,读还是可以的,只是无法写这个文件)\r\n比如,你有两个程序,同时读取一个文件,并且不close,那么无论哪个程序都无法修改或删除这个文件。\r\n我看了你的追问,关闭程序就可以不占用内存。是的,关闭程序就把内存给释放了,可问题是,你这个程序是短暂的寿命吗?你开发程序出来是给别人用的吧,那么这个程序就会一直开启状态,你不能随便去关闭它。比如,一个网站,那是一直开启放在互联网上的。一个游戏,一直开启给玩家玩的。你可以经常去把这个程序关闭吗?无论是网站还是游戏,都会有很多用户访问你的程序,如果不做到释放内存,100个用户就要占用100个文件流,1000个用户占用1000个,你的程序和服务器能够支撑不住那么多信息的。所以要做到及时释放内存,保证程序能够正常运行。\r\n以上是我对close的作用的解释与内存释放的一点理解,我看其他答案都没有说道点子上,才跳出来吱个声。至于console.read()等,我就不做多解释了,楼上的各位都已经帮你做出回答。

close()是为了释放资源。

如果不close(),那就要等到垃圾回收时,自动释放资源。垃圾回收的时机是不确定的,也无法控制的。

如果程序是一个命令,很快就执行完了,那么可能影响不大(注意:并不是说就保证没问题)。

但如果程序是一个服务,或是需要很长时间才能执行完,或者很大并发执行,就可能导致资源被耗尽,也有可能导致死锁。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8062143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存