![]() |
1
6
看看
this overload
属于
例如,你可以
|
![]() |
2
3
首先,如果你的应用程序是多线程的,你不应该使用
此外,你的阅读是开放分享的,但你的写作不是。
您也没有将流包裹进来
您应该这样做:
实现对象的基本规则
除此之外,你可能不想边写边读。这将给你带来巨大的竞争条件问题,当你需要调试正在发生的事情时,这些问题将很难重现。 既然你没有使用async/await,我建议使用锁。这将一次只允许一个线程执行文件操作。没有种族条件,没有“共享”文件。
我无法测试这段代码,因为我没有要测试的数据,但请尝试让它看起来接近这一点。 而且,老实说,我认为你应该使用像SQLite数据库这样的东西来做这类工作。用多个线程操作单个平面文件是一件很难正确有效地完成的事情。
下面是一个使用async/await模式的示例
我补充道
|
![]() |
3
1
此函数打开一个文本文件,读取文件的所有行,然后关闭文件。 如果文件小于4G,可能会有用。
将结果字符串数组转换为列表,并对其执行任何您想要的操作。文件保持自由和解锁状态。
使用更新最终结果
如果真的需要实时执行,也有异步方法 This article 这可能真的很有帮助。这些功能是 阅读
用于写作
|
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |