Powershell线程问题:代码执行了两次?

时间:2016-01-21 15:44:12

标签: multithreading powershell

我遇到线程问题,希望有人能为我解决这个问题。我的线程正在返回数组中的重复条目。我一直在试图找出原因。这是代码:

$arrayofinfo | Start-RSJob -Name {"Command_$($_)"} -throttle 10   -ScriptBlock {     

     $command = $_
     $array_1 = @()
     $array_1 = Invoke-Expression " & $command" -EA SilentlyContinue
     if(($array_1.count) -gt 20)
     {  
        $array_1 += $command
        $array_1 += $array_1
        return $array_1
     }
} ## end of scriptblock
get-rsjob | wait-rsjob #-Timeout 7
$array_complete = get-rsjob -HasMoreData -ErrorAction SilentlyContinue |  Receive-RSJob -ErrorAction SilentlyContinue | Select-Object -ErrorAction SilentlyContinue

正在发生的事情是$ command执行两次或结果放在$ array_1中两次。不知何故...... $ array_complete的大小是双倍的,并且每个条目都包含重复的条目。怎么样??????任何看起来像它的东西都可以改进,请评论。感谢。

0 个答案:

没有答案