Menu
CoddyTech

Coroutine là gì?

Thuộc phần Logic và luồng chương trình trong hành trình Lua của Coddy. Bài học 48 trên 54.

Hãy nghĩ về việc chơi trò chơi điện tử. Bạn có thể tạm dừng bất cứ lúc nào, đi làm việc khác rồi quay lại tiếp tục đúng từ chỗ đã dừng. Coroutine trong Lua hoạt động theo cách tương tự.

Coroutine giống như một hàm đặc biệt có thể tự tạm dừng giữa chừng khi đang chạy, rồi tiếp tục sau đó từ đúng điểm đã tạm dừng. Khác với các hàm thông thường chạy liên tục từ đầu đến cuối, coroutine cho bạn quyền kiểm soát thời điểm chúng tạm dừng và tiếp tục.

Khả năng này cho phép thực hiện một việc gọi là đa nhiệm hợp tác. Thay vì chạy nhiều tác vụ cùng một lúc, coroutine cho phép bạn tự nguyện chuyển đổi giữa các tác vụ khác nhau.

Một coroutine chạy một lúc rồi tự tạm dừng, coroutine khác tiếp tục chạy, cứ thế nối tiếp. Mỗi coroutine phối hợp bằng cách quyết định khi nào trả quyền điều khiển.

Coroutine rất hữu ích khi bạn cần chia nhỏ các thao tác chạy trong thời gian dài, quản lý hệ thống theo lượt hoặc tạo các chuỗi cần ghi nhớ trạng thái giữa những lần gọi. Trong các bài học tiếp theo, bạn sẽ học cách tạo, tạm dừng và tiếp tục coroutine trong Lua.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Lua online