task
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Thư viện nhiệm vụ cho phép các chức năng và luồng dữ liệu được lịch trình với lịch trình nhiệm vụ.
Các chức năng có sẵn trong thư viện này thường hỗ trợ chức năng và chủ đề. Trong hầu hết các trường hợp sử dụng chức năng là đủ, nhưng cho các trường hợp cao cấp hơn, nó được khuyến nghị bạn quen thuộc với thư viện coroutine.
Tóm Tắt
Chức Năng
Gọi/tái tạo một chức năng/coroutine ngay lập tức thông qua lịch trình điều khiển của động cơ.
Gọi/tái tạo một hàm/coroutine ở cuối chu kỳ tổng kết hiện tại.
Lịch một hành động / coroutine để được gọi / kết thúc sau Heartbeat đã được cung cấp (trong giây) mà không bị giảm giá.
Khiến mã sau đây được thi hành song song.
Gây ra mã sau đây để chạy theo chuỗi.
Tạo ra một luồng chủ đề hiện tại cho đến khi có một Heartbeat tiếp theo (trong giây) mà thời gian hiện tại (trong giây) đã qua, mà không bị rơi vào tình trạng bị rơi.
Huỷ một luồng chủ đề, ngăn chặn nó khỏi việc bị tiếp tục.
Chức Năng
spawn
Chấp nhận một hàm hoặc một luồng (như được trả lại bởi coroutine.create) và gọi/tiếp nó ngay lập tức thông qua người lập trình của Engine. Các引数 sau cùng được gửi đến hàm/luồng.
Hành động này dựa trên mẫu fastSpawn chứ không phải là một chức năng thay thế cho global spawn function. Nên dùng hành động này thay vì sử dụng fastSpawn.
Nếu script đang chạy trong một giai đoạn chạy chuẩn tuyết tác, thì chức năng hoặc luồng đã được gọi sẽ được tiếp tục trong giai đoạn chạy chuẩn tuyết tác hiện tại. Nếu script đang chạy trong một giai đoạn chạy chuẩn tuyết tác, thì chức n
Tham Số
Lợi Nhuận
Chủ đề đã lịch sẵn.
defer
Chấp nhận một chức năng hoặc một thread (như được trả lại bởi coroutine.create) và trì hoãn nó cho đến khi kết thúc chu kỳ tái tạo hiện tại, tại điểm này nó được bắt đầu lại với người lập lịch của máy chủ như với task.spawn() .
Hành động này nên được sử dụng khi một hành động tương tự đến task.spawn() được mong muốn, nhưng nó không cần phải chạy ngay lập tức.
Nếu script gọi hiện đang chạy trong một giai đoạn thi hành seri, thì chức năng hoặc thread đã được hoãn lại trong giai đoạn thi hành seri. Nếu script gọi hiện đang chạy trong một giai đoạn thi hành paralell, thì chức năng hoặc thread đã được hoãn lại trong giai
Tham Số
Lợi Nhuận
Chủ đề đã lịch sẵn.
delay
Chấp nhận một hàm hoặc một thread (như được trả lại bởi coroutine.create) và lịch trình nó để được gọi/tạm dừng trên Heartbeat tiếp theo sau khi số thời gian đã được đưa ra trong giây. Các引数 sau khi thứ hai được gửi đến chức n
Hàm này khác với hàm global delay trong không có giật : trên cùng một bước Heartbeat, trong đó đủ thời gian đã qua, hàm được đảm bảo để gọi / bắt đầu lại. Cung cấp một thời gian là zero (0) sẽ đảm bảo rằng hà
Bạn có thể tính thời gian thực tế đã qua bằng cách gọi os.clock() trong lịch trình và trong chức năng đã lịch trình.
Nếu script gọi hiện đang chạy trong một giai đoạn thi hành chuẩn, thì chức năng hoặc chuỗi được tạm dừng trong giai đoạn thi hành chuẩn. Nếu script gọi hiện đang chạy trong một giai đoạn thi hành paralell, thì chức năng hoặc chuỗi được tạm dừng trong giai
Tham Số
Lợi Nhuận
Chủ đề đã lịch sẵn.
desynchronize
Nếu script gọi hiện đang chạy trong một giai đoạn thi hành seri, desynchronize tạm dừng script và script sẽ được khởi động lại trong giai đoạn thi hành paralel tiếp theo. Nếu script gọi hiện đang chạy trong một giai đoạn thi hành paralel, desynchronize ng
Chỉ các script là con của một Actor mới có thể gọi phương thức này. Nếu một script ngoài Actor gọi phương thức này, một lỗi sẽ được nêu ra.ModuleScript cũng có thể gọi desynchronize nhưng miễn là khởi tạo của module đó được yêu cầu bởi một script là con của mộ
Để biết thêm thông tin, xem Parallel Luau .
Lợi Nhuận
synchronize
Nếu script gọi hiện đang chạy trong một giai đoạn chạy song song, synchronize tạm dừng script và script sẽ được khởi động lại trong giai đoạn chạy song song tiếp theo. Nếu script gọi hiện đang chạy trong một giai đoạn chạy song song, synchronize ngay lập tức v
Chỉ các script là con của một Actor mới có thể gọi phương thức này. Nếu một script ngoài Actor gọi phương thức này, một lỗi sẽ được nêu ra.ModuleScript cũng có thể gọi synchronize nhưng khi người khác gọi instantiation của module này đã được yêu cầu bởi một script
Để biết thêm thông tin, xem Parallel Luau .
Lợi Nhuận
wait
Kết thúc mục đích thời gian cho đến khi đã đến thời gian (in seconds) đã được quy định, sau đó khởi động lại mục đích thời gian ở bước tiếp theo của Heartbeat . Số thời gian thực sự đã đến được đưa trả lại.
Nếu không được cung cấp thời gian, nó sẽ mặc định là 0 (0). Điều này có nghĩa là màn hình sẽ khởi động lại ở bước tiếp theo, tương đương với việc thực hiện RunService.Heartbeat:Wait()
Ngoài việc bị khuyến nghị sử dụng global wait , chức năng này không bị giảm giá và đảm bảo khởi động lại của thread trong lần Heartbeat đầu tiên xảy ra khi nó đến. Chức năng này cũng chỉ trả lại thời gian trôi qua và không có gì khác.
Nếu script gọi hiện đang chạy trong một giai đoạn thi hành seri, thì script sẽ được tiếp tục trong một giai đoạn thi hành seri. Nếu script gọi hiện đang chạy trong một giai đoạn thi hành paralel, thì script sẽ được tiếp tục trong một giai đoạn thi hành paralel. Để biết thêm thông
Tham Số
Số thời gian trong giây mà nó nên tan trước khi chủ đề hiện tại được bắt đầu lại.
Lợi Nhuận
cancel
Huỷ một subprocess và đóng nó, ngăn chặn nó khỏi việc bị bắt đầu lại thủ công hoặc bởi người lập lịch nhiệm vụ.
Hành chức này có thể được sử dụng với các thành viên khác của thư viện nhiệm vụ đó để trả lại một luồng để huỷ chúng trước khi chúng được tiếp tục. Ví dụ:
local thread = task.delay(5, function()
print("Hello world!")
end)
task.cancel(thread)
Ghi chú: Các luồng có thể được ở trạng thái nơi không thể bị huỷ chúng. Ví dụ, luồng đang chạy hiện tại và các luồng đã khởi động lại có thể không bị huỷ. Nếu đó là trường hợp, một lỗi lua sẽ được tạo ra.
Tuy nhiên, mã không nên dựa vào các trạng thái hoặc điều kiện cụ thể dẫn đến việc task.cancel() để thất bại. Điều này có thể xảy ra trong tương lai khiến cho các luồng trong các trạng thái này có thể bị huỷ bỏ một cách thành công.
Tham Số
Nhị luật sẽ bị huỷ.