【问题标题】:VB.net simple threaded GUI based program. Where to put the threadVB.net 基于简单线程 GUI 的程序。把线放在哪里
【发布时间】:2009-10-12 17:15:46
【问题描述】:

我编写了一个基于 GUI 的小型 vb.net 程序,它通过 com 端口与嵌入式设备对话。 GUI 代码包含一个类,与嵌入式设备的所有通信都通过该类进行处理(com 端口设备、通信协议、解析信息、每次读取后保存设备相关信息)。该类称为 EDComms。

我想添加一个线程,以便 EDComms 对象可以在后台运行并在下载日志文件等时进行报告(有时从设备获取日志文件可能需要一段时间)。

所以。我应该让 EDComms 从后台工作线程继承吗?或者我应该有一个后台工作线程作为 EDComms 的成员?

现在我选择第二个选择。我现在唯一要做的就是编写一个函数,用于从 GUI 注册两个委托,以通知任务进度,并通知任务完成。

在这两个选项中,我选择了更好的吗? 或者有比我提出的这两个更好的选择吗?也许有线程作为 GUI 的成员?

谢谢。

【问题讨论】:

    标签: vb.net user-interface multithreading


    【解决方案1】:

    当你从一个类继承时,你是在暗示一个 IS A 关系。 EDComms 不是线程。让它管理线程是一种方法,或者您可能有一个在类外部的后台工作人员。但我会说唯一不应该是选项的选项是继承选项。

    根据我对您的应用程序的了解,您选择了最佳选项。

    【讨论】:

      【解决方案2】:

      真的,两者都可以。从设计的角度来看,这更多的是您希望线程意味着什么。 EDComms 对象是否会自己完成工作,或者您更愿意让 EDComms 对象简单地包装工作人员并提供与之通信的接口。就个人而言,我更喜欢你的选择,我认为这合乎逻辑,但这只是我的意见。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-30
        • 2023-04-04
        • 2013-11-22
        相关资源
        最近更新 更多