Skip to content

Commit 9a33234

Browse files
committed
Добавлен Task.Yield с поддержкой ThreadPool и LockContext
Добавлен extension-метод Yield(bool LockContext) для Task, позволяющий явно переключать выполнение в поток из пула потоков с возможностью сохранения исходного контекста синхронизации. Метод возвращает YieldAwaitableThreadPool. Добавлены соответствующие XML-комментарии.
1 parent 6d574db commit 9a33234

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

MathCore/Extensions/AsyncAwait/TaskEx.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ namespace System.Threading.Tasks;
1212

1313
public static class TaskEx
1414
{
15+
extension(Task)
16+
{
17+
/// <summary>Создаёт ожидание для переключения выполнения в поток из пула потоков</summary>
18+
/// <param name="LockContext">Если true, продолжение будет выполнено в исходном контексте синхронизации</param>
19+
/// <returns>YieldAwaitableThreadPool, представляющий операцию ожидания</returns>
20+
public static YieldAwaitableThreadPool Yield(bool LockContext) => new(LockContext);
21+
}
22+
1523
/// <summary>Проверка на пустоту результата выполнения задачи</summary>
1624
/// <typeparam name="T">Тип значения задачи</typeparam>
1725
/// <param name="task">Выполняемая задача</param>

0 commit comments

Comments
 (0)