Sobes.tech
Middle

Kotlin ენის suspend ფუნქცია რა არის?

sobes.tech AI

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

Suspend ක්‍රියාවලිය — Kotlin හි ක්‍රියාවලියක් වන අතර එය "අවහිර" (suspend) කළ හැකි අතර පසුව "නැවත ආරම්භ" (resume) කළ හැකිය. එය අසමන්විත, නොබ්ලොක්කන කේතය ලිවීමට භාවිතා වේ, එමඟින් දීර්ඝකාලීන මෙහෙයුම් සමඟ වැඩ කිරීම සරල කරයි, උදාහරණයක් ලෙස, ජාල අයදුම්පත් හෝ දත්ත සමුදා මෙහෙයුම්.

Suspend ක්‍රියාවලීන්ගේ මූලික ලක්ෂණ:

  • suspend සංශෝධකය: මෙය suspend යතුරු පදය මඟින් ක්‍රියාවලියගේ නාමයට පෙර ප්‍රකාශිත වේ.
  • කොරූටිනයන් සමඟ වැඩ කිරීම: එය වෙනත් suspend ක්‍රියාවලියන් හෝ කොරූටිනයන් නිර්මාතෘවරු (උදාහරණයක් ලෙස, launch, async) මඟින් පමණක් ඇමතුම් වේ.
  • නොබ්ලොක්කන ස්වභාවය: suspend ක්‍රියාවලියක් නවතා දැමීම එය ක්‍රියාත්මක වන තන්තුව බ්ලොක් නොකරයි. එයට වෙනුවට, තන්තුව නිදහස් කර වෙනත් කාර්යයන් සිදු කිරීමට, සහ අසමන්විත මෙහෙයුමේ ප්‍රතිඵලය සූදානම් වූ විට, ක්‍රියාවලිය නවතා දැම්මේ සිට ආරම්භ වේ.
  • සැහැල්ලු සලකුණු: suspend සංශෝධකය, මෙම ක්‍රියාවලිය දිගු කාලීන මෙහෙයුමක් විය හැකි බව පැහැදිලි කරයි, එය ප්‍රධාන තන්තුව (UI තන්තුව) මත සෘජුව ක්‍රියාත්මක විය නොහැක.

උදාහරණ:

// සාමාන්‍ය ක්‍රියාවලිය
fun fetchDataBlocking(): String {
    // බ්ලොක්කන ජාල ඇමතුම, අල්ලා ගත හැක
    Thread.sleep(2000)
    return "දත්ත ලබා ගත්තා"
}

// Suspend ක්‍රියාවලිය
suspend fun fetchDataNonBlocking(): String {
    // අසමන්විත ජාල ඇමතුම
    // කොරූටිනය මෙහි නවත්වයි, තන්තුව බ්ලොක් නොවේ
    delay(2000) // විලාම්බය අනුකරණය කරන suspend ක්‍රියාවලියක් උදාහරණයක්
    return "අසමන්විතව ලබා ගත් දත්ත"
}

Suspend ක්‍රියාවලි, කොරූටිනයන් භාවිතා කරමින් පහසුවෙන් කියවිය හැකි සහ නඩත්තු කළ හැකි අසමන්විත කේත නිර්මාණය සඳහා මූලික වේ.