Bir powershell sorunum var ve belki birisi bana yardımcı olabilir. Powershell 2.0 kullanıyorum ve oluşturmak ve thread kullanmak istiyorum. İşleri kullanabileceğimi biliyorum ama istediğim bu değil. Windows formları oluşturan ve arka plan iş parçacıklarını da çalıştıran bir komut dosyası istiyorum. Formlar STA'ya ihtiyaç duyduğundan, bu kolay değildir. "Powershell.exe -sta" çalıştırması çözüm değildir.Powershell iş parçacığı kullanımı sorunu
Basit iş parçacığı için yazdığım komut dosyası aşağıdadır. Ama işe yaramıyor. Yeni iplik bile oluşturulamaz. Herhangi bir öneri, yanlış olan nedir? Eğer yapabilirsen bana yardım et!
Saygılarımızla, Peter.
function ThreadProc() {
for ($i = 0; $i -lt 10; $i++) {
$ApartmentState = [System.Threading.Thread]::CurrentThread.GetApartmentState()
Write-Host "ThreadProc ($ApartmentState): $i"
# Yield the rest of the time slice.
[System.Threading.Thread]::Sleep(0)
}
}
$ApartmentState = [System.Threading.Thread]::CurrentThread.GetApartmentState()
Write-Host "Main thread ($ApartmentState): Start a second thread."
$thread_job = New-Object System.Threading.ThreadStart(ThreadProc)
$thread = New-Object System.Threading.Thread($thread_job)
$thread.CurrentThread.SetApartmentState([System.Threading.ApartmentState]::STA)
$thread.Start()
for ($i = 0; $i -lt 4; $i++) {
Write-Host("Main thread: Do some work.")
[System.Threading.Thread]::Sleep(0)
}
Write-Host("Main thread: Call Join(), to wait until ThreadProc ends.")
$thread.Join()
Write-Host("Main thread: ThreadProc.Join has returned. Program end.")
Teşekkürler, yapabilirsem deneyeceğim. –