我想在PowerShell中將一些文件解析操作與網絡活動並行化。快速谷歌它, 啓動線程看起來像一個解決方案,但是:PowerShell中的線程是如何工作的?
術語「啓動線程」沒有被識別爲cmdlet,函數,腳本文件或可操作的程序的名稱。檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然後重試。
當我嘗試開始工作時發生同樣的事情。
我也試着擺弄周圍有System.Threading.Thread
[System.Reflection.Assembly]::LoadWithPartialName("System.Threading")
#This next errors, something about the arguments I can't figure out from the documentation of .NET
$tstart = new-object System.Threading.ThreadStart({DoSomething})
$thread = new-object System.Threading.Thread($tstart)
$thread.Start()
所以,我認爲最好是知道我做錯了,當我開始使用多線程,因爲它似乎替別人打工。我使用v2.0,我不需要向下兼容。
** tl; dr:**'receive-job(wait-job($ a = start-job {「heyo!」})); remove-job $ a'或'$ a = start-job {「heyo!」 };等待工作$ a;獲得工作$ a; remove-job $ a'還要注意,如果你在作業完成之前調用'receive-job',你可能什麼也得不到。 – Andrew 2017-11-22 18:46:58
另外'(get-job $ a).jobstateinfo.state;' – Andrew 2017-11-22 19:02:29