Chcę zrównoleglić niektóre akcje do parsowania z działaniem sieciowym w powłoce powershell. Szybkie google dla niego startowy wątek wyglądało rozwiązanie, ale:Jak działa wątkowanie w powłoce Power Shell?
Termin „start-nić” nie jest rozpoznawana jako nazwy apletu polecenia, funkcji skryptu lub program wykonywalny. Sprawdź pisownię nazwy lub jeśli ścieżka została uwzględniona, sprawdź, czy ścieżka jest prawidłowa i spróbuj ponownie.
To samo stało się, gdy próbowałem rozpocząć pracę.
Próbowałem też błahy wokół z 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()
Sądzę więc, że najlepiej byłoby, aby wiedzieć, co robię źle, gdy używam rozpoczęcie wątku, ponieważ wydaje się działać dla innych ludzi. Używam v2.0 i nie potrzebuję kompatybilności w dół.
** tl; dr: ** 'odbiór-praca (praca oczekująca ($ a = start-job {" heyo! "})); remove-job $ a' lub '$ a = start-job {" heyo! " }; wait-job $ a; otrzymywać-praca $ a; remove-job $ a' Zwróć także uwagę, że jeśli wywołasz 'receive-job' przed zakończeniem zadania, możesz nie otrzymać nic. – Andrew
Również '(get-job $ a) .jobstateinfo.state;' – Andrew