Tôi đang đọc Kotlin Coroutine và biết rằng nó dựa trên suspendchức năng. Nhưng suspendnghĩa là gì?
Quy trình hoặc chức năng bị đình chỉ?
Từ https://kotlinlang.org/docs/reference/coroutines.html
Về cơ bản, coroutines là các tính toán có thể bị treo mà không chặn một chuỗi
Tôi nghe mọi người thường nói "chức năng tạm ngưng". Nhưng tôi nghĩ chính đăng quang bị đình chỉ vì chờ hết chức năng? "pause" thường có nghĩa là "ngừng hoạt động", trong trường hợp này, quy trình đăng ký không hoạt động.
🤔 Có nên nói rằng quy trình đăng quang bị đình chỉ không?
Quy trình đăng quang nào bị đình chỉ?
Từ https://kotlinlang.org/docs/reference/coroutines.html
Để tiếp tục tương tự, await () có thể là một hàm tạm ngưng (do đó cũng có thể gọi từ bên trong khối {} không đồng bộ) sẽ tạm dừng một quy trình đăng quang cho đến khi một số tính toán được thực hiện và trả về kết quả của nó:
async { // Here I call it the outer async coroutine
    ...
    // Here I call computation the inner coroutine
    val result = computation.await()
    ...
}
🤔 Nó nói rằng "tạm dừng một quy trình đăng ký cho đến khi một số tính toán được thực hiện", nhưng quy trình đăng ký giống như một sợi chỉ nhẹ. Vì vậy, nếu quy trình đăng quang bị đình chỉ, thì việc tính toán có thể được thực hiện như thế nào?
Chúng tôi thấy awaitđược gọi là trên computation, vì vậy nó có thể asynctrả về Deferred, có nghĩa là nó có thể bắt đầu một quy trình đăng ký khác
fun computation(): Deferred<Boolean> {
    return async {
        true
    }
}
🤔 Trích dẫn nói rằng đình chỉ một quy trình đăng quang . Nó có nghĩa là suspendquy trình đăng quang bên ngoài asynchay suspendquy trình đăng quang bên trong computation?
Liệu suspendcó nghĩa rằng trong khi bên ngoài asynccoroutine đang chờ ( await) cho khu vực nội computationcoroutine đến cuối, nó (ngoài asynccoroutine) idles (do đó tên đình chỉ) và lợi nhuận chủ đề đến hồ bơi thread, và khi trẻ computationkết thúc coroutine, nó (ngoài asynccoroutine ) thức dậy, lấy một chuỗi khác từ hồ bơi và tiếp tục?
Lý do tôi đề cập đến chuỗi này là vì https://kotlinlang.org/docs/tutorials/coroutines-basic-jvm.html
Chuỗi được trả về nhóm trong khi quy trình đăng ký đang đợi và khi quá trình chờ hoàn tất, quy trình đăng ký tiếp tục trên một chuỗi miễn phí trong nhóm
