在C#中手动控制内存分配

vivek86

我想知道是否有可能明确声明C#应用程序应使用哪种内存类型(物理或虚拟内存)来执行不同的操作?让我通过一个例子来解释一下:

可以说,我的文件大小约为100或200 MB。我需要解析该文件,访问并分析其内容,并对文件内容执行操作。我是否可以将整个文件及其内容专门存储在虚拟内存中而不是物理内存中?

如果有可能,那么是否应该记住任何副作用/预防措施?

我的问题背后的原因是,我经常不得不处理如此大的文件或数据集(从数据库中检索)并对其执行操作,其中的一部分不需要顺序发生或同步。如果可能的话,我想通过并行化非顺序部分来提高应用程序的执行时间和性能。

500内部服务器错误

通常,您不(也不需要)对如何管理物理内存有任何了解。在Windows中,因此在CLR中,所有内容都是虚拟内存。

除非您有特定的问题,否则您应该假装一切都是物理内存。

您可以依靠操作系统来智能地确定应将哪些内容保留在物理内存中以及可以将哪些内容换出。交换仅在存在内存压力的情况下发生,即,如果您分配的内存多于物理可用内存。

此外,如今100-200 MB的存储量还不够。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在统一 C# 中手动将值分配给数组

来自分类Dev

在ggplot中手动分配颜色

来自分类Dev

在C#中手动拆分字符串

来自分类Dev

在C#中手动设置线程退出代码?

来自分类Dev

手动分配IP

来自分类Dev

手动遍历c中的数组

来自分类Dev

C ++(14)和手动内存管理

来自分类Dev

在C#中或手动运行cmdline命令-结果不同

来自分类Dev

如何在C#中手动使用资源(不执行IDE操作)?

来自分类Dev

手动访问内存地址

来自分类Dev

手动内存管理说明

来自分类Dev

手动访问内存地址

来自分类Dev

用C#手动填充DataTable的最快方法

来自分类Dev

C#客户端上的RabbitMQ手动ACK

来自分类Dev

C#,如何手动设置光标位置

来自分类Dev

OpenStack:手动分配IP

来自分类Dev

如何在C中手动迭代堆栈帧?

来自分类Dev

如何在Visual C ++中手动处理名称?

来自分类Dev

在C中手动深度复制到设备

来自分类Dev

C在手动填充的数组中搜索值

来自分类Dev

C在手动填充的数组中搜索值

来自分类Dev

在C中手动解析JSON消息

来自分类Dev

为什么List <float> .Sum()和数字的手动求和在C#中给出不同的结果?

来自分类Dev

在C#中执行SQL查询时出错,当我手动输入它时没有错误

来自分类Dev

如何在C#中手动使用PKCS5(RFC 1423)填充进行AES解密?

来自分类Dev

是否可以在Windows中手动将程序发送到虚拟内存?

来自分类Dev

在BIOS中手动设置内存时序-无法识别模块

来自分类Dev

指向二维数组和手动内存管理的指针-C

来自分类Dev

strstr()是否返回指向已分配内存的指针,需要我稍后手动释放它吗?