如何在Percentage中查找线程的工作

本文关键字:线程 工作 查找 Percentage | 更新日期: 2023-09-27 18:23:38

我有两年的C#编程经验,我有一个关于线程的问题。有可能找出一根线的功吗。

例如:在我在线程A上运行的应用程序中,当线程A完成其20%的工作时,线程B启动,当线程B完成其50%的工作时线程C Strated。

所以我想知道如何检查线程A和B的工作百分比。这个问题是在面试中问我的,所以我不知道这个问题对线程的方式是否正确。

帮帮我Shashank

如何在Percentage中查找线程的工作

很简单,线程A和B必须公布他们以某种方式完成了多少工作。这可能是:

  • 通过线程定期引发的事件。(例如,这是BackgroundWorker方法,使用ReportProgess方法和ProgressChanged事件。)
  • 通过从线程安全集合中删除工作项,观察线程可以看到剩余的数量,并将其与现有的数量进行比较
  • 通过将线程的工作封装在一个对象中,该对象允许随时查询"完成的工作",无论这对所讨论的任务意味着什么

当然,所有这些都假设进展甚至可以从一开始就计算出来。。。

您可以使用BackgroundWorker与ProgressBar控件相结合来实现这一点。有关教程,请查看本教程

你可以用BackgroundWorker做什么,你也可以用简单的Threads做什么,但后台worker内置了某些功能。

尽管您明确提到使用两个线程,但如果您从BackgroundWorker等更简单的示例开始,它可能会向您澄清问题。