[quote=引用 28 楼 FainSheeg 的回复:] [quote=引用 25 楼 秋的红果实 的回复:] 你的两种思路都不建议 你可以在创建一个新对象时,统计下当前已有的对象数目,要是达到你的上限(如1w),可以不创建新对象,或者销毁某些已有的对象
你的两种思路都不建议 你可以在创建一个新对象时,统计下当前已有的对象数目,要是达到你的上限(如1w),可以不创建新对象,或者销毁某些已有的对象
[quote=引用 25 楼 秋的红果实 的回复:] 你的两种思路都不建议 你可以在创建一个新对象时,统计下当前已有的对象数目,要是达到你的上限(如1w),可以不创建新对象,或者销毁某些已有的对象
[quote=引用 11 楼 wanghui0380 的回复:] 程序运行一年,如果他正常无误不崩溃,不重启---------这程序一年会也许会new 一亿个对象 net会自己释放他,只要工作完了,没地方引用他了,他自然要被GC释放 也许你任务和你的描述没有关系,也许你要求只是,我6小时有一个几w的任务列表,我想在他工作完了回传通知一下从remove列表里删除,或者他超过一定时间了从remove列表删除 尤其后面一个微软本来就已经有了,那就是system.runtime.Cache, 他就是一个你要列表,而且你可以直接设定和时间关联的移除行为
其实,我觉得你简单一点。 直接通过cache创建,设置一个过期时间就好了。
程序运行一年,如果他正常无误不崩溃,不重启---------这程序一年会也许会new 一亿个对象 net会自己释放他,只要工作完了,没地方引用他了,他自然要被GC释放 也许你任务和你的描述没有关系,也许你要求只是,我6小时有一个几w的任务列表,我想在他工作完了回传通知一下从remove列表里删除,或者他超过一定时间了从remove列表删除 尤其后面一个微软本来就已经有了,那就是system.runtime.Cache, 他就是一个你要列表,而且你可以直接设定和时间关联的移除行为
所谓享元模式就是你把1和2结合一下
111,119
社区成员
642,554
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧