🖥 Threading C#: Небольшая памятка с кодом.

Создание нового потока

Чтобы создать новый поток в C#, вы можете использовать класс Thread:

using System.Threading;

void PrintNumbers()

{

    for (int i = 1; i <= 5; i++)

    {

        Console.WriteLine(i);

    }

}

Thread newThread = new Thread(PrintNumbers);

Starting a Thread

Чтобы запустить поток в C#, вы можете использовать метод Start():

newThread.Start();

Joining a Thread

Чтобы дождаться завершения выполнения потока в C#, вы можете использовать метод Join()

newThread.Join();

Thread Sleep

Остановка текущего потока на заданное время,

Thread.Sleep(1000); // Sleep for 1 second

Thread Pools

Чтобы использовать пул потоков в C#, вы можете воспользоваться классом ThreadPool:

using System.Threading;

ThreadPool.QueueUserWorkItem(PrintNumbers);

Tasks

Чтобы создать и запустить задачу в C#, вы можете использовать класс Task:

using System.Threading.Tasks;

Task.Run(PrintNumbers);

Wait

Чтобы дождаться завершения задачи в C#, вы можете использовать метод Wait():

Task task = Task.Run(PrintNumbers);

task.Wait();

Cancelling a Task

Для отмены задачи в C# можно использовать класс CancellationTokenSource:

using System.Threading;

using System.Threading.Tasks;

CancellationTokenSource cts = new CancellationTokenSource();

Task.Run(() => PrintNumbers(cts.Token), cts.Token);

cts.Cancel();

Task Exceptions

Для обработки исключений в задаче можно использовать блок try-catch внутри :

using System.Threading.Tasks;

Task.Run(() =>

{

    try

    {

        // Code that may throw an exception

    }

    catch (Exception ex)

    {

        Console.WriteLine($”Error: {ex.Message}”);

    }

});

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *