WorkManager-এ থ্রেডিং

WorkManager-এর মাধ্যমে শুরু করা-তে, আমরা উল্লেখ করেছি যে WorkManager আপনার হয়ে ব্যাকগ্রাউন্ডে অ্যাসিঙ্ক্রোনাসভাবে কাজ করে। বেসিক ইমপ্লিমেন্টেশন বেশিরভাগ অ্যাপের চাহিদা পূরণ করে। আরও উন্নত ব্যবহারের ক্ষেত্রে, যেমন কাজ বন্ধ হয়ে যাওয়া সঠিকভাবে ম্যানেজ করা, আপনাকে WorkManager-এ থ্রেডিং ও কনকারেন্সি সম্পর্কে জানতে হবে।

WorkManager-এর মাধ্যমে চার ধরনের ওয়ার্ক প্রিমিটিভ প্রদান করা হয়:

  • Worker হল সবচেয়ে সহজ ইমপ্লিমেন্টেশন, এবং এটি আপনি আগের বিভাগে দেখেছেন। WorkManager অটোমেটিক এটি ব্যাকগ্রাউন্ড থ্রেডে রান করে (যা আপনি ওভাররাইড করতে পারবেন)। ওয়ার্কারে থ্রেডিং-এ Worker ইনস্ট্যান্সে থ্রেডিং সম্পর্কে আরও পড়ুন।
  • Kotlin ব্যবহারকারীদের জন্য CoroutineWorker প্রয়োগ করার সাজেশন দেওয়া হয়। CoroutineWorker ইনস্ট্যান্স ব্যাকগ্রাউন্ডে কাজ করার জন্য সাসপেন্ডিং ফাংশন এক্সপোজ করে। ডিফল্ট হিসেবে, এগুলি একটি ডিফল্ট Dispatcher চালায়, যা আপনি কাস্টমাইজ করতে পারবেন। CoroutineWorker-এ থ্রেডিং-এ CoroutineWorker ইনস্ট্যান্সে থ্রেডিং সম্পর্কে আরও পড়ুন।
  • RxJava ব্যবহারকারীদের জন্য RxWorker ইমপ্লিমেন্ট করার সাজেশন দেওয়া হয়। আপনার আগে থেকে থাকা অ্যাসিঙ্ক্রোনাস কোডের বেশিরভাগই RxJava-তে মডেল করা থাকলে, RxWorkers ব্যবহার করা উচিত। সব RxJava কনসেপ্টের মতো, আপনি নিজের পছন্দমতো থ্রেডিং স্ট্র্যাটেজি বেছে নিতে পারবেন। RxWorker-এ থ্রেডিং-এ RxWorker ইনস্ট্যান্সে থ্রেডিং সম্পর্কে আরও পড়ুন।
  • Worker, CoroutineWorker ও RxWorker-এর জন্য ListenableWorker হল মূল ক্লাস। এটি সেইসব Java ডেভেলপারদের জন্য তৈরি করা হয়েছে যাদের কলব্যাক-ভিত্তিক অ্যাসিঙ্ক্রোনাস API-এর সাথে ইন্টার‍্যাক্ট করতে হয় যেমন FusedLocationProviderClient এবং RxJava ব্যবহার করছেন না। ListenableWorker-এ থ্রেডিং-এ ListenableWorker ইনস্ট্যান্সে থ্রেডিং সম্পর্কে আরও পড়ুন।