Sobes.tech
Middle

Android-ში რა მიზნით გამოიყენება Job ობიექტი?

sobes.tech AI

პასუხი AI-სგან

Kotlin Coroutines-এ Job ব্যবহৃত হয় করুটিনের জীবনচক্র পরিচালনা এবং বাতিল করার জন্য।

প্রধান প্রয়োগসমূহ:

  • জীবনচক্র পরিচালনা: করুটিনের অবস্থা (Active, Completing, Completed, Cancelling, Cancelled, New) ট্র্যাক করতে দেয়।
  • করুটিন বাতিল: job.cancel() বা job.cancelAndJoin() কল করে করুটিনের কার্যক্রম বন্ধ করা যায়।
  • সংগঠিত প্রতিযোগিতা: Job করুটিনের হায়ারার্কির উপাদান। মূল Job বাতিল করলে সব সন্তান Job বাতিল হয়।
  • সমাপ্তির জন্য অপেক্ষা: job.join() বর্তমান করুটিনকে অন্য করুটিনের সমাপ্তির জন্য অপেক্ষা করতে বাধ্য করে, যা এই Job দ্বারা উপস্থাপিত।
  • অপসারণের হ্যান্ডলিং: Job-এ অব্যবহৃত ব্যতিক্রমগুলি উপরে Job হায়ারার্কিতে ছড়িয়ে পড়ে এবং বিশেষ হ্যান্ডলার (যেমন, CoroutineExceptionHandler) দ্বারা ধরা পড়তে পারে।

ব্যবহারের উদাহরণ শুরু এবং বাতিল করার জন্য:

fun startAndCancelCoroutine() {
    // CoroutineScope ViewModel, Activity, Fragment থেকে নেওয়া যেতে পারে।
    val scope = CoroutineScope(Dispatchers.IO)

    val job: Job = scope.launch {
        // দীর্ঘ গণনা
        delay(5000)
        println("করুটিন শেষ হয়েছে")
    }

    // 2 সেকেন্ড পরে করুটিন বাতিল করুন
    scope.launch {
        delay(2000)
        job.cancel()
        println("করুটিন বাতিল হয়েছে")
    }
}