20/06/25 11:16:02.92 L3VdfOGw.net
何言ってんの?
パイプラインってものをわかってない
これスクリプトファイルにして試してみ
function recvdata { foreach ($i in 1 .. 10) { sleep 1; $i }}
filter mul10 { sleep 1; $_ * 10 }
filter add1 { sleep 1; $_ + 1 }
filter fmtresult { "{0} {1}" -f $_, ([datetime]::Now - $script:s).TotalSeconds }
"スレッドなし"
$s = [datetime]::Now
recvdata | mul10 | add1 | fmtresult
"ステージごとに別スレッド"
$s = [datetime]::Now
Start-ThreadJob {
filter add1 { sleep 1; $_ + 1 }
Start-ThreadJob {
filter mul10 { sleep 1; $_ * 10 }
Start-ThreadJob {
function recvdata { foreach ($i in 1 .. 10) { sleep 1; $i }}
recvdata
} | Receive-Job -Wait -AutoRemoveJob | mul10
} | Receive-Job -Wait -AutoRemoveJob | add1
} | Receive-Job -Wait -AutoRemoveJob | fmtresult