WorkManager में थ्रेडिंग की सुविधा
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
हमने WorkManager का इस्तेमाल शुरू करना लेख में बताया था कि WorkManager, आपके लिए बैकग्राउंड में एसिंक्रोनस तरीके से काम करता है. बेसिक वर्शन को लागू करने से, ज़्यादातर ऐप्लिकेशन की ज़रूरतें पूरी हो जाती हैं. ज़्यादा बेहतर इस्तेमाल के उदाहरणों के लिए, जैसे कि काम को सही तरीके से रोकने के लिए, आपको WorkManager में थ्रेडिंग और कॉंकुरेंसी के बारे में जानना चाहिए.
WorkManager, चार तरह की वर्क प्रिमिटिव उपलब्ध कराता है:
Worker
को लागू करना सबसे आसान है. साथ ही, इसे पिछले सेक्शन में भी दिखाया गया है. WorkManager इसे बैकग्राउंड थ्रेड पर अपने-आप चलाता है. हालांकि, इसे बदला जा सकता है. Threading in Worker में, Worker
इंस्टेंस में थ्रेडिंग के बारे में ज़्यादा पढ़ें.
CoroutineWorker
, Kotlin का इस्तेमाल करने वाले लोगों के लिए सुझाया गया तरीका है. CoroutineWorker
इंस्टेंस, बैकग्राउंड में काम करने के लिए सस्पेंडिंग फ़ंक्शन दिखाते हैं. डिफ़ॉल्ट रूप से, वे डिफ़ॉल्ट Dispatcher
चलाते हैं. हालांकि, इसे अपनी पसंद के मुताबिक बनाया जा सकता है. CoroutineWorker में थ्रेडिंग में, CoroutineWorker
इंस्टेंस में थ्रेडिंग के बारे में ज़्यादा पढ़ें.
- RxJava का इस्तेमाल करने वाले लोगों के लिए,
RxWorker
को लागू करने का सुझाव दिया जाता है. अगर आपके मौजूदा एसिंक्रोनस कोड का ज़्यादातर हिस्सा RxJava में मॉडल किया गया है, तो RxWorkers का इस्तेमाल किया जाना चाहिए. RxJava के सभी कॉन्सेप्ट की तरह,
आपके पास थ्रेडिंग की अपनी पसंद की रणनीति चुनने का विकल्प होता है. RxWorker
इंस्टेंस में थ्रेडिंग के बारे में ज़्यादा पढ़ें. इसके लिए, RxWorker में थ्रेडिंग पर जाएं.
ListenableWorker
, Worker
, CoroutineWorker
, और RxWorker
के लिए बेस क्लास है. यह उन Java डेवलपर के लिए है जिन्हें कॉलबैक पर आधारित एसिंक्रोनस एपीआई, जैसे कि FusedLocationProviderClient
के साथ इंटरैक्ट करना है और वे RxJava का इस्तेमाल नहीं कर रहे हैं. ListenableWorker में थ्रेडिंग में, ListenableWorker
इंस्टेंस में थ्रेडिंग के बारे में ज़्यादा पढ़ें.
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया.
[null,null,["आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया."],[],[],null,["# Threading in WorkManager\n\nIn [Getting started with WorkManager](/topic/libraries/architecture/workmanager/basics),\nwe mentioned that WorkManager performs background work asynchronously on your\nbehalf. The basic implementation addresses the demands of most apps. For more\nadvanced use cases, such as correctly handling work being stopped, you should\nlearn about threading and concurrency in WorkManager.\n\nThere are four different types of work primitives provided by WorkManager:\n\n- [`Worker`](/reference/androidx/work/Worker) is the simplest implementation, and the one you have seen in previous sections. WorkManager automatically runs it on a background thread (that you can override). Read more about threading in `Worker` instances in [Threading in Worker](/topic/libraries/architecture/workmanager/advanced/worker).\n- [`CoroutineWorker`](/reference/kotlin/androidx/work/CoroutineWorker) is the recommended implementation for Kotlin users. `CoroutineWorker` instances expose a suspending function for background work. By default, they run a default `Dispatcher`, which you can customize. Read more about threading in `CoroutineWorker` instances in [Threading in CoroutineWorker](/topic/libraries/architecture/workmanager/advanced/coroutineworker).\n- [`RxWorker`](/reference/androidx/work/RxWorker) is the recommended implementation for RxJava users. RxWorkers should be used if a lot of your existing asynchronous code is modelled in RxJava. As with all RxJava concepts, you are free to choose the threading strategy of your choice. Read more about threading in `RxWorker` instances in [Threading in RxWorker](/topic/libraries/architecture/workmanager/advanced/rxworker).\n- [`ListenableWorker`](/reference/androidx/work/ListenableWorker) is the base class for `Worker`, `CoroutineWorker`, and `RxWorker`. It is intended for Java developers who have to interact with callback-based asynchronous APIs such as `FusedLocationProviderClient` and are not using RxJava. Read more about threading in `ListenableWorker` instances in [Threading in ListenableWorker](/topic/libraries/architecture/workmanager/advanced/listenableworker)."]]