Coroutine Scope là gì và nó khác với `Co...
Coroutine Scope là gì và nó khác với `Co...
Trong Kotlin, khi làm việc với coroutines, hai khái niệm quan trọng cần được hiểu rõ là Coroutine Scope và Coroutine Context. Mỗi khái niệm này đóng một vai trò riêng biệt trong việc quản lý và thực thi các coroutines.
Coroutine Scope xác định phạm vi trong đó một coroutine được thực thi. Scope quản lý vòng đời của các coroutines chạy bên trong nó, đảm bảo rằng chúng không tiếp tục thực thi khi scope đã bị hủy. Mỗi coroutine khi được khởi chạy phải được khởi chạy trong một scope cụ thể.
GlobalScope, lifecycleScope trong Android, viewModelScope trong Android ViewModel, v.v.Coroutine Context là một tập hợp các thuộc tính khác nhau của coroutine, bao gồm dispatcher quyết định thread nào coroutine sẽ chạy trên, cũng như các thông tin khác như Job của coroutine và các elements khác như CoroutineName.
Dispatchers.Main chạy trên main thread của UI trong Android, Dispatchers.IO dành cho I/O operations, Dispatchers.Default cho CPU-intensive tasks.senior