社区
C#
帖子详情
.net现在支不支持不用垃圾回收啊
imarshal
2019-07-19 07:09:59
我看新闻说微软打算用rust代替c/c++,其实azure上有些已经用了,而且最近很火的libra就是用rust写的,同样是内存安全,rust没有垃圾回收,.net开源很久了,现在有没有什么项目是把gc从clr中去掉啊
...全文
302
7
打赏
收藏
.net现在支不支持不用垃圾回收啊
我看新闻说微软打算用rust代替c/c++,其实azure上有些已经用了,而且最近很火的libra就是用rust写的,同样是内存安全,rust没有垃圾回收,.net开源很久了,现在有没有什么项目是把gc从clr中去掉啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
imarshal
2019-07-22
打赏
举报
回复
.net core中现在应该有支持,参考http://tooslowexception.com/zero-garbage-collector-for-net-core
泡泡龙
2019-07-21
打赏
举报
回复
在您不希望任何暂停的代码的关键区域暂时挂起GC,然后再启动它。这正是TryStartNoGCRegionAPI(在.NET 4.6中添加)允许您执行的操作。 来自MSDN文档: 如果指定的内存量可用,则尝试在执行关键路径期间禁止垃圾回收。
泡泡龙
2019-07-21
打赏
举报
回复
不用gc的目的是什么?
threenewbee
2019-07-20
打赏
举报
回复
.net没有gc我觉得不可能。起码C#是不可能。
LvBao_117
2019-07-20
打赏
举报
回复
这是.NET的优势,为什么要取消
吾shi谁
2019-07-20
打赏
举报
回复
在开发.NET程序过程中,由于CLR中的垃圾回收(garbage collection)机制会管理已分配的对象,所以程序员就可以不用关注对象什么时候释放内存空间了。
imarshal
2019-07-20
打赏
举报
回复
引用 1 楼 caozhy 的回复:
.net没有gc我觉得不可能。起码C#是不可能。
我看.net4.6开始有GC.TryStartNoGCRegion和GC.EndNoGCRegion,这样的话对象怎么释放啊
.net
垃圾回收
.Net
所指的托管只是针对内存这一个方面,并不是对于所有的资源;因此对于Stream,数据库的连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到
.Net
管理而统称为非托管资源。而对于内存的释放和回收,系统提供了GC-Garbage Collector,而至于其他资源则需要手动进行释放。 那么第二个概念就是什么是垃圾,通过我以前的文章,会了解到
.Net
类型分为两大类,一个就
.NET
垃圾回收
机制GC
.NET
程序可以找出某个时间点上哪些已分配的内存空间没有被程序使用,并自动释放它们。
CLR的
垃圾回收
总结
垃圾回收
的本质是,跟踪托管堆中被引用的对象,回收没有被引用的对象。
GC
垃圾回收
NET程序可以找出某个时间点上哪些已分配的内存空间没有被程序使用,并自动释放它们。自动找出并释放不再使用的内存空间机制,就称为
垃圾回收
机制(Garbage Collection,简称GC)。
Dotnet的
垃圾回收
最近在做一个项目,用到了大量的非托管技术,所以
垃圾回收
变得很重要。 在说
垃圾回收
之前,先说说两个概念:托管代码,是由CLR管理的代码非托管代码,是由操作系统直接执行的代码在早期C++的时候...
C#
111,131
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章