vb.net - 文本编辑器加载多个大文本文件 - 多线程

标签 vb.net winforms multithreading

我对 VB.NET 相当陌生,我正在开发一个带有选项卡式界面的文本编辑器。我处理大型文本文件,所以我想知道解决这个问题的最佳方法是什么。

我应该在新线程或进程中打开每个选项卡/文本文档吗?我基本上希望整个应用程序始终快速运行,因为文本编辑器只是其中的一部分。如果我打开了几个大的文本文件,我不希望应用程序的其余部分变慢一点。

如果有人可以帮助阐明这一点,并可能向我指出包含任何相关示例的 URL,我将不胜感激!

最佳答案

我应该在新线程或进程中打开每个选项卡/文本文档吗?

没有。绝对不是一个新过程。将所有内容重新组合在一起的 Win32 数量会让你讨厌自己。

也不是新线程。 Winforms UI 在单个调度线程中运行。尝试从不同的线程触摸 UI 会让你的程序爆炸。

我建议简单地使用经过尝试的、真实的、无聊的后台 worker 方法。这可以与线程一起使用,也可以仅使用异步IO(.NET 为您处理线程)。根据您的用例,您可能只想延迟加载文件的一部分,您可以使用内存映射随机访问文件(例如,仅读取文件的一小部分)一次文件)。无论如何,“数据”应该与所述数据的可视化分开。

(强调已添加到搜索词中。)

关于vb.net - 文本编辑器加载多个大文本文件 - 多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3220355/

相关文章:

.net - SqlConnection的Dispose方法会干扰连接池吗?

.net - 在 VSTO Excel 项目中创建弹出日历

java - 等待 SwingWorker 完成

java - 不共享公共(public)资源的线程是否可以根据线程 ID/名称进行通知?

asp.net - 为什么我的 Webform 上的复选框对控制循环代码不可见?

vb.net - VB中的函数与函数

c# - 在 MFC 应用程序中托管 Windows 窗体 (C#) (VC++,VS6.0)

winforms - 在同一项目中创建由其他用户控件组成的用户控件时出现警告和错误(CS0436、CS0234)

c# - Winforms:如何正确打开组合框?

java - 多线程和 Selenium