12

MSDN states that:

Background threads are identical to foreground threads with one exception: a background thread does not keep the managed execution environment running

  1. Is there any dereference in the Thread Quantum that given by OS to the thread if it were a background thread rather than the foreground threads? Check this.

  2. When setting a background thread priority to a higher value like Highest, will it get more quantum than a foreground one with lower priority?

Thanks in advance.

Community
  • 1
  • 1
Jalal Said
  • 15,906
  • 7
  • 45
  • 68

1 Answers1

24

Managed foreground/background threads, the Windows thread quantum and thread priority are orthogonal concepts.

  • Being a foreground thread means that the process cannot be stopped until it (and all other foreground threads) are stopped.
  • The quantum is the length of time a thread gets to run before the system will consider scheduling another thread on that processor.
  • The thread priority determines the pecking order within all ready to run, waiting threads.

Of these three items, only foreground/background pertains to managed code.

Now to your questions.

  1. The foreground process is a Windows concept. It is unrelated to foreground/background threads in .net.
  2. Thread priority does not affect the quantum.
mjn
  • 36,362
  • 28
  • 176
  • 378
David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490