আমি টিপিএল ব্যবহার সম্পর্কে 3 টি রুটিন দেখেছি যা একই কাজ করে; কোডটি এখানে:
public static void Main()
{
Thread.CurrentThread.Name = "Main";
// Create a task and supply a user delegate by using a lambda expression.
Task taskA = new Task( () => Console.WriteLine("Hello from taskA."));
// Start the task.
taskA.Start();
// Output a message from the calling thread.
Console.WriteLine("Hello from thread '{0}'.",
Thread.CurrentThread.Name);
taskA.Wait();
}
public static void Main()
{
Thread.CurrentThread.Name = "Main";
// Define and run the task.
Task taskA = Task.Run( () => Console.WriteLine("Hello from taskA."));
// Output a message from the calling thread.
Console.WriteLine("Hello from thread '{0}'.",
Thread.CurrentThread.Name);
taskA.Wait();
}
public static void Main()
{
Thread.CurrentThread.Name = "Main";
// Better: Create and start the task in one operation.
Task taskA = Task.Factory.StartNew(() => Console.WriteLine("Hello from taskA."));
// Output a message from the calling thread.
Console.WriteLine("Hello from thread '{0}'.",
Thread.CurrentThread.Name);
taskA.Wait();
}
আমি ঠিক বুঝতে পারছিলাম না কেন মাইক্রোসফট কারণ তারা সব কাজ TPL কাজ চালানোর জন্য একই 3 বিভিন্ন উপায়ে দেয়: Task.Start()
, Task.Run()
এবং Task.Factory.StartNew()
।
আমাকে বলুন Task.Start()
, Task.Run()
এবং Task.Factory.StartNew()
সমস্ত কি একই উদ্দেশ্যে ব্যবহৃত হয় বা তাদের আলাদা তাত্পর্য রয়েছে?
কখন কোন ব্যবহার করা উচিত Task.Start()
, কখন ব্যবহার করা Task.Run()
উচিত এবং কখন ব্যবহার করা উচিত Task.Factory.StartNew()
?
উদাহরণস্বরূপ দুর্দান্ত বিবরণে দৃশ্যের ভিত্তিতে তাদের আসল ব্যবহার বুঝতে দয়া করে আমাকে ধন্যবাদ, ধন্যবাদ।
Task.Run
- সম্ভবত এটি আপনার প্রশ্নের জবাব দেবে;)