大文件处理求助

人间太皮 2010-12-07 12:36:24
我有一个需求:读取一个txt文件的内容,经过一番处理生成另外的两个文件.文件小时没问题,但是文件量大时(如我用30M测试)程序就会出现未响应,报了一个异常如下:
异常信息:CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88,这种状态已持续60秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作.这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积

网上查到一个解决办法:在调试(菜单)-->异常--> Managed Debug Assistants里 去掉ContextSwitchDeadlock一项前面的钩。

但我想这是治标不治本的,而且我试过,没报异常,但仍为出现未响应.想请教更好的解决办法,不知道另起一个线程能否解决.
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
人间太皮 2010-12-07
  • 打赏
  • 举报
回复
多线程只能解决未响应的问题,并不能解决异常信息,在里面做了一个分段处理,算是解决了吧
人间太皮 2010-12-07
  • 打赏
  • 举报
回复
whb147 2010-12-07
  • 打赏
  • 举报
回复
如果读取到内存里没有问题的话,
应该好办
根据业务可以多线程处理

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧