Как реализован новый параллель PowerShell 7 ForEach-Object? - PullRequest
4 голосов
/ 24 марта 2020

В PowerShell 7 появилась очень необходимая функция для параллельной работы конвейерного ввода.

Документация для PowerShell 7 не содержит подробных сведений о том, как это реализовано.

Используя модули PoshRSJob и Invoke-Parallel ранее, я знаю, что пространства выполнения традиционно считались гораздо более эффективным подходом для параллельных операций в powershell по сравнению с выполнением заданий PowerShell. Я прочитал некоторый смешанный контент, указывающий, что сейчас используется многопоточность, а не пространства выполнения, но не могу найти ничего другого, например c.

Я бы очень признателен за некоторые технические знания:

  1. Каков жизненный цикл выполнения с точки зрения. NET
  2. Являются ли функциональность пространства выполнения или потоков? (или является ли пространство выполнения просто потоком. NET в System.Management.Automation?)
  3. Приносит ли это какую-либо сложность в традиционной отладке сейчас, когда мы переходим к параллельным операциям? Исторически у меня было трудное время отладки с пространствами выполнения, и я не был уверен, какие опции могли быть улучшены
...