工作线程和后台工作线程之间的区别?

时间:2012-09-06 21:07:39

标签: c# java .net multithreading

  

可能重复:
  Difference between BackgroundWorker and Thread?

我在接受采访时被问到这个问题。该怎么回答?

4 个答案:

答案 0 :(得分:1)

“背景”一词意味着它执行的关键任务不如非背景线程,并且在完成时无关紧要。在Java中,这可能意味着使用守护程序线程。

从技术上讲,它们是相同的,不同的是主观的。

答案 1 :(得分:1)

当您需要在后台执行长操作并与线程中的UI交互时,最常使用Backgroundworker线程。 Backgroundworker具有一些功能,可以更轻松地与UI交互。

答案 2 :(得分:0)

“worker”和“background”线程都不是主/ UI线程。

除非您有更多详细信息(例如,语言X或框架Y 的上下文中的),否则它们之间没有明显区别。但是,正如我认为的那样:

  • 工作线程 听起来像它可能属于一个工作池。在这种情况下,它可能在完成任务后重新使用(并且只有在工作池终止时才会停止)。
  • 后台主题 听起来像,它被异步调用以完成单个任务。可能是为了阻止UI线程阻塞。

答案 3 :(得分:0)

BackgroundWorker是一个System.ComponentModel类,它允许您在单独的Threadpool线程上执行方法。 Joe Albahari有good writeup on it

工作线程是从主线程产生的线程的通用术语,通常与UI并行工作。