Ожидаемый процесс, выполняемый с использованием мульти потока или функции прерывания в этом сценарииC#

Место общения программистов C#
Ответить
Anonymous
 Ожидаемый процесс, выполняемый с использованием мульти потока или функции прерывания в этом сценарии

Сообщение Anonymous »

Для моего текущего понимания в C#код выполняется из строки в строку «Thread».

Код: Выделить всё

using System.Threading.Tasks;

public class HelloWorld
{
public static async Task Main(string[] args)
{
Console.WriteLine("test");
// Start both tasks without awaiting
LongTaskAAsync();

Console.WriteLine("end");
}

public static async void LongTaskAAsync()
{
await Task.Delay(3000);
Console.WriteLine("LongTaskAAsync completed");
}
}
Поместите время (true) сохранил процесс, так как поток продолжает работать в программе (Inside while while):

Код: Выделить всё

using System.Threading.Tasks;

public class HelloWorld
{
public static async Task Main(string[] args)
{
Console.WriteLine("test");

// Start both tasks without awaiting
LongTaskAAsync();
Console.WriteLine("end");

while(true) { }
}

public static  async void LongTaskAAsync()
{
await Task.Delay(3000);
Console.WriteLine("LongTaskAAsync completed");
}
}
Поскольку поток все еще работает и пойман в пределах цикла (true) , как он внезапно выходит из цикла, чтобы выполнить завершенную Longtaskaasync () ? В этом сценарии ведут ли поток как функция прерывания ПЛК, прерывается, чтобы определить приоритет выполнения завершенной асинхронной задачи или или задача выполнена другим потоком? Как мы можем подтвердить, связано ли это поведение с механизмом прерываний или многопоточной?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... t-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»