কম্পিউটার বিজ্ঞানের ভাষায়, Task
একটি ভবিষ্যত বা প্রতিশ্রুতি । (কিছু লোক এই দুটি শব্দ সমার্থকভাবে ব্যবহার করে, কেউ কেউ এগুলি আলাদাভাবে ব্যবহার করে, কোনও সঠিক সংজ্ঞা নিয়ে কেউ একমত হতে পারে না ।) মূলত, Task<T>
"প্রতিশ্রুতি" দেয় আপনাকে ফিরিয়ে দেবার জন্য T
, তবে এখনই মধু নয়, আমি কেন ব্যস্ত, কেন না তুমি কি পরে ফিরে আসবে?
এ Thread
সেই প্রতিশ্রুতি পূরণের একটি উপায়। তবে প্রত্যেকেরই Task
একেবারে নতুন প্রয়োজন হয় না Thread
। (প্রকৃতপক্ষে, থ্রেড তৈরি করা প্রায়শই অযাচিত হয়, কারণ থ্রেডপুল থেকে বিদ্যমান থ্রেডটি পুনরায় ব্যবহার করার চেয়ে এটি করা অনেক বেশি ব্যয়বহুল that এক মুহুর্তে আরও বেশি)) আপনি যে মানটির জন্য অপেক্ষা করছেন সেটি যদি ফাইল সিস্টেম বা একটি থেকে আসে ডাটাবেস বা নেটওয়ার্ক, তারপরে কোনও থ্রেডের চারপাশে বসে থাকার দরকার নেই এবং যখন এটি অন্য অনুরোধগুলি পরিবেশন করতে পারে তখন ডেটার জন্য অপেক্ষা করুন। পরিবর্তে, Task
তারা প্রস্তুত হওয়ার পরে মানগুলি পেতে কলব্যাকটি রেজিস্টার করতে পারে।
বিশেষ করে, Task
নেই না বলে কেন এটা যে এটি মান ফেরত পাঠাতে যেমন একটি দীর্ঘ সময় লাগে। এটি হতে পারে যে এটি গণনা করতে দীর্ঘ সময় নেয়, বা এটি পেতে খুব বেশি সময় লাগে। শুধুমাত্র পূর্বের ক্ষেত্রে আপনি একটি Thread
চালানোর জন্য একটি ব্যবহার করবেন Task
। (নেট। ইন, থ্রেডগুলি ব্যয়বহুল হয়ে উঠছে, তাই আপনি সাধারণত এগুলি যথাসম্ভব এড়াতে চান এবং আপনি যদি একাধিক সিপিইউতে একাধিক ভারী গণনা চালাতে চান তবে কেবল সেগুলি ব্যবহার করুন example উদাহরণস্বরূপ, উইন্ডোজে, কোনও থ্রেডের ওজন 12 কিবিট হয় ( আমি মনে করি), লিনাক্সে, একটি থ্রেড ওজন 4 কিবাইট হিসাবে কম, এরলং / বিএমে এমনকি 400 বাইট এমনকি। নেট, এটি 1 মাইবাইট!)