如何在Percentage中查找线程的工作
本文关键字:线程 工作 查找 Percentage | 更新日期: 2023-09-27 18:23:38
我有两年的C#编程经验,我有一个关于线程的问题。有可能找出一根线的功吗。
例如:在我在线程A上运行的应用程序中,当线程A完成其20%的工作时,线程B启动,当线程B完成其50%的工作时线程C Strated。
所以我想知道如何检查线程A和B的工作百分比。这个问题是在面试中问我的,所以我不知道这个问题对线程的方式是否正确。
帮帮我Shashank
很简单,线程A和B必须公布他们以某种方式完成了多少工作。这可能是:
- 通过线程定期引发的事件。(例如,这是
BackgroundWorker
方法,使用ReportProgess
方法和ProgressChanged
事件。) - 通过从线程安全集合中删除工作项,观察线程可以看到剩余的数量,并将其与现有的数量进行比较
- 通过将线程的工作封装在一个对象中,该对象允许随时查询"完成的工作",无论这对所讨论的任务意味着什么
当然,所有这些都假设进展甚至可以从一开始就计算出来。。。
您可以使用BackgroundWorker与ProgressBar控件相结合来实现这一点。有关教程,请查看本教程
你可以用BackgroundWorker做什么,你也可以用简单的Threads做什么,但后台worker内置了某些功能。
尽管您明确提到使用两个线程,但如果您从BackgroundWorker等更简单的示例开始,它可能会向您澄清问题。