Насколько я могу судить, у меня есть вводящие в заблуждение биты информации. Мне нужен отдельный поток, работающий в фоновом режиме.
] На данный момент я делаю это так:
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
}
}
Вы бы порекомендовали мне вернуться к этому подходу, чтобы гарантировать использование нового потока?