केवल "कार्रवाई" पैरामीटर के साथ TaskFactory.StartNew बुला का सबसे सामान्य रूप इसके अलावा (1) https://msdn.microsoft.com/en-us/library/dd321439(v=vs.110).aspxTaskFactory.StartNew को रद्दीकरण टोकन क्यों पास करें?
हम वरना एक विधि है कि "निरस्तीकरण टोकन" (2) https://msdn.microsoft.com/en-us/library/dd988458.aspx
के रूप में एक अतिरिक्त पैरामीटर स्वीकार करता हैमेरा सवाल है, हमें कॉल (2) के बजाय कॉल (2) का उपयोग क्यों करना चाहिए?
मेरा मतलब है, पृष्ठ के लिए MSDN में उदाहरण (2) भी अगर मैं पैरामीटर के रूप में रद्द टोकन उत्तीर्ण नहीं होते हैं (क्योंकि चर टोकन प्रतिनिधि समारोह से पहुँचा जा सकता है काम करेगा तरह:।
var tokenSource = new CancellationTokenSource();
var token = tokenSource.Token;
var files = new List<Tuple<string, string, long, DateTime>>();
var t = Task.Factory.StartNew(() => { string dir = "C:\\Windows\\System32\\";
object obj = new Object();
if (Directory.Exists(dir)) {
Parallel.ForEach(Directory.GetFiles(dir),
f => {
if (token.IsCancellationRequested)
token.ThrowIfCancellationRequested();
var fi = new FileInfo(f);
lock(obj) {
files.Add(Tuple.Create(fi.Name, fi.DirectoryName, fi.Length, fi.LastWriteTimeUtc));
}
});
}
}
); //note that I removed the ", token" from here
tokenSource.Cancel();
तो वहाँ कुछ भी नीचे हो रहा है जब मैं Task.Factory.StartNew को रद्द करने टोकन पारित धन्यवाद
है?
'कार्य। फैक्टरी' का उपयोग न करने के बारे में शब्द फैलाने के लिए धन्यवाद। – kai