kullanan bir yöntem parametre aktarımı Aşağıdaki kodu vardır:Task.Factory.StartNew
var task = Task.Factory.StartNew(CheckFiles, cancelCheckFile.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
private void CheckFiles()
{
//Do stuff
}
Şimdi kabul CheckFiles değiştirme istiyor ve tamsayı ve bir BlockingCollection referans
private void CheckFiles(int InputID, BlockingCollection<string> BlockingDataCollection)
{
//Do stuff
}
dayana Yukarıda yaptığım gibi bu görevi başlatmak için bir yol bulmak gibi görünüyor.
Yardımcı olabilir misiniz?
sayesinde
teşekkürler
Bu konuda daha fazla bilgi edinebilirsiniz: Böyle bir şey olacaktır. Onları bir döngü içinde başlatacağım. Ancak buna LongRunning olarak ihtiyacım var. Orijinal programım tek bir dosya ile çalıştı ama şimdi çok sayıda dosya üzerinde bazı kodları yapmak gerekiyor. Bu yüzden ID, BlockingCollection, CancellationTokenSoure ve StreamReader'ı geçmem gerekiyor. Bu ekstra metod parametrelerini bu soruya eklemedim, ancak – Jon
@ Jon: Sadece bu nesnelerin kapsamını kontrol ettiğinizden emin olun ... Uzun bir süredir düşündüğünüz bir şey olarak LongRunning ipucundan bahsetmiştim - bunun nadiren iyi bir fikir olduğunu söyleyeceğim birçok görevi başlatıyorsanız (ör: bir döngüde çalışıyorsanız) LongRunning'ı, özellikle .NET 4'te kullanmak için, threadpool genellikle daha iyi bir davranış sağlayacaktır. –
Döngü sadece görevleri başlatmak içindir. En fazla 4-6 – Jon