Possible Duplicate:
Difference between BackgroundWorker and Thread?
I was asked this question in an interview . what should be answer for this ?
Possible Duplicate:
Difference between BackgroundWorker and Thread?
I was asked this question in an interview . what should be answer for this ?
The word "background" implies that it performs less critical tasks than non-background threads and it doesn't matter some much when they complete. In Java this can mean using a daemon thread.
Technically they are the same thing and the different is subjective.
Backgroundworker threads are most often used when you have a need to perform a long operation in the background and interact with the UI from the thread. Backgroundworker has some features that allow it to interact with the UI much easier.
Neither the "worker" nor "background" threads are the main/UI threads.
Unless you have more details (for example, in the context of Language X or Framework Y), there's no distinct difference between them. But, as I consider them:
BackgroundWorker is a System.ComponentModel class that lets you execute a method on a separate Threadpool thread. Joe Albahari has a good writeup on it.
A worker thread is a generic term for threads spawned from your main thread that typically do work in parallel to the UI.