Can you describe what you mean? Are you working completely UI-less, or
are you just trying to add some separation?
Actually, background-worker really uses the SynchronizationContext to
talk between threads, so it doesn't strictly depend on a UI; but
working with such isn't trivial.
If you are working without a UI (a service etc), I'd be tempted to
keep it simple; use standard threads with things like events,
ManualResetEvent, etc. Unfortunately it is hard to give a full answer
without more info on what you want to achieve.
Marc