Все самое полезное для C#-разработчика в одном канале.
Наши курсы: https://clc.to/y3LDtw
По рекламе: @tproger_sales_bot
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Post #7067
3.25K

🔄 Process API в .NET 11: большое обновление
Чтение вывода без дедлоков
При перенаправлении stdout и stderr пайпы имеют ограниченный буфер. Последовательное чтение приводит к взаимной блокировке. Раньше нужно было вручную организовывать параллельное чтение. Теперь одна строка:
Также есть
Контроль хэндлов
Жизненный цикл
Производительность
Запуск на Apple Silicon ускорен до 98x (
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#async_news
System.Diagnostics.Process получил крупнейшее обновление за годы в .NET 11 Preview 4.Чтение вывода без дедлоков
При перенаправлении stdout и stderr пайпы имеют ограниченный буфер. Последовательное чтение приводит к взаимной блокировке. Раньше нужно было вручную организовывать параллельное чтение. Теперь одна строка:
var output = Process.RunAndCaptureText("dotnet", ["--help"]);Также есть
ReadAllLinesAsync для построчного чтения и Process.Run когда вывод не нужен.Контроль хэндлов
ProcessStartInfo.InheritedHandles указывает, какие хэндлы наследует дочерний процесс. Предотвращает утечку и удваивает пропускную способность параллельного запуска на Windows. Стандартные хэндлы можно перенаправить на файл, пайп или null.Жизненный цикл
KillOnParentExit убивает дочерний процесс при завершении родителя, включая краши. StartDetached запускает процесс, переживающий родителя. StartAndForget возвращает PID и освобождает ресурсы.Производительность
Запуск на Apple Silicon ускорен до 98x (
posix_spawn). Параллельный запуск на Windows быстрее в 1.8x. Аллокации на Unix сокращены на 30–50%. NativeAOT с SafeProcessHandle до 32% меньше.📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#async_news
- ❤ 3
- 👏 1










