Kotlin में थ्रेड (Thread) और कोरूटीन (Coroutine) में क्या अंतर है?
सभी को नमस्कार! मैंने Kotlin और कोरूटीन (Coroutine) सीखना शुरू किया है, लेकिन मैं सामान्य थ्रेड (Thread) और कोरूटीन (Coroutine) के बीच मूलभूत अंतर को समझ नहीं पा रहा हूँ। \n\nदोनों ही कोड को समानांतर या एसिंक्रोनस (asynchronously) चलाने की अनुमति देते हैं। मैंने डॉक्यूमेंटेशन पढ़ा, लेकिन वहाँ जटिल तरीके से लिखा है। उदाहरण के लिए, मैंने थ्रेड्स (Threads) के साथ एक सरल उदाहरण लिखा:\n\n```kotlin\nfun main() {\n println("Main starts: ${Thread.currentThread().name}")\n \n val thread = Thread {\n println("Thread working: ${Thread.currentThread().name}")\n Thread.sleep(1000)\n println("Thread done")\n }\n thread.start()\n \n println("Main continues: ${Thread.currentThread().name}")\n thread.join()\n println("Main ends")\n}\n```\n\nऔर कोरूटीन (Coroutine) पर समकक्ष:\n\n```kotlin\nfun main() = runBlocking {\n print