Из того, что я могу сказать, у меня есть вводящие в заблуждение биты информации. Мне нужно, чтобы в фоновом режиме работал отдельный поток.
На данный момент я делаю это так:
var task = Task.Factory.StartNew
(CheckFiles
, cancelCheckFile.Token
, TaskCreationOptions.LongRunning
, TaskScheduler.Default);//Check for files on another thread
private void CheckFiles()
{
while (!cancelCheckFile.Token.IsCancellationRequested)
{
//do stuff
}
}
Это всегда создает новую тему для меня. Однако после нескольких обсуждений, даже если он помечен как LongRunning, не гарантирует, что будет создан новый поток.
В прошлом я делал что-то вроде этого:
thQueueChecker = new Thread(new ThreadStart(CheckQueue));
thQueueChecker.IsBackground = true;
thQueueChecker.Name = "CheckQueues" + DateTime.Now.Ticks.ToString();
thQueueChecker.Start();
private void CheckQueue()
{
while (!ProgramEnding)
{
//do stuff
}
}
Вы бы порекомендовали мне вернуться к этому подходу, чтобы гарантировать, что используется новый поток?