task

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Görev kütüphanesi ile görevlerin ve başlıca işlemlerin Task Scheduler ile planlanmasına izin verir.

Bu kütüphanedeki mevcut işlevler genellikle işlevleri ve bağlantıları destekler. Çoğu durumda bir işlevi kullanmak yeterlidir, ancak daha gelişmiş durumlar için coroutine kütüphanesiyle tanıdığınızda kendinizi geliştirmeniz önerilir.

Özet

İşlevler

  • spawn(functionOrThread : function | coroutine,... : Variant):coroutine

    Bir işlevi/rutini motor planlayıcıı aracılığıyla derhal çağrılır/yeniden çağrılır.

  • defer(functionOrThread : function | coroutine,... : Variant):coroutine

    Mevcut toplama döngüsünün sonunda bir işlev/rutin çağrılır/yeniden çağrılır.

  • delay(duration : number,functionOrThread : function | coroutine,... : Variant):coroutine

    Verilen süreden sonra (bir saniye içinde) kalp atışının ardından çağrılan/yeniden çağrılan bir işlev/rutini planlar ve tıkanıklık olmadan çalıştırır.

  • Aşağıdaki kodun paralel olarak çalışmasına neden olur.

  • Aşağıdaki kodu seri olarak çalıştırır.

  • wait(duration : number):number

    Verilen süreyi (saniye olarak) işaret edilen bir sonraki Heartbeat'e kadar kullanılabilir.

  • cancel(thread : coroutine):()

    Bir başlığı iptal eder ve devam edemesini sağlar.

İşlevler

coroutine.create tarafından döndürülen bir işlevi veya bir bağlantıyı kabul eder ve motorun planlayıcısı aracılığıyla derhal çağrılır/yeniden çağrılır. Bir sonraki argümanlar ilk argümanlara gönderilir.

Bu işlev, deprecoted global spawn işlevinin bir alternatifi olarak kullanılmak yerine fastSpawn patTERNine dayanmaktadır. Bu işlevin fastSpawn yerine kullanılması önerilir.

Çağrı scripti seri bir ifade olarak şu anda çalışıyorsa, oluşturulan işlev veya süreç seri ifade olarak çalışır. Eğer çağrı scripti seri bir ifade olarak şu anda çalışıyorsa, oluşturulan işlev veya süreç seri ifade olarak çalışır. For more information, see Parallel Luau.

Parametreler

functionOrThread: function | coroutine

coroutine.create tarafından döndürülen bir işlev veya bir bağlantı.

...: Variant

Fonksiyon veya başlıca gönderilen argümanlar.

Dönüşler

Planlanmış olan subprocess.

Yükleme döngüsünün sonuna kadar, task.spawn() ile motorun planlayıcısıyla birlikte yeniden başlatılması için bir işlevi veya bir bağlantıyı kabul eder ve bunu Library.task.spawn() ile birleştirir. Önceki argümanların ilkisi gönderilir.

Bu işlev, benzer bir davranış task.spawn() istendiğinde kullanılmalıdır, ancak işlemci derhal çalıştırılması gerekmez.

Çağrı scripti seri bir ifade olarak şu anda çalışıyorsa, deferans işlevi veya bağlantı işlemi seri bir ifade olarak yeniden başlatılır. Eğer çağrı scripti seri bir ifade olarak şu anda çalışıyorsa, deferans işlevi veya bağlantı işlemi seri bir ifade olarak yeniden başlatılır. For more information, see Parallel Luau</

Parametreler

functionOrThread: function | coroutine

coroutine.create tarafından döndürülen bir işlev veya bir bağlantı.

...: Variant

Fonksiyon veya başlıca gönderilen argümanlar.

Dönüşler

Planlanmış olan subprocess.

Ayrıca, coroutine.create tarafından döndürülen bir işlev veya bir bağlantıyı kabul eder ve bir sonraki Heartbeat'de çağrılacak/yeniden başlatılacaktır. Ardından ikinci olarak gönderilen argeler işlev veya bağlantıya gönderilir.

Bu işlev, aynı anda işleme giren delay işlevinden farklıdır: aynı anda işleme giren 延遲 işlevinden, işlevin yeterli süre içinde çağrılması garanti edilir. Bir süre (0) sağlayarak, işlevin bir sonraki Heartbeat'te çağrılması garanti edilir.

Planlama ve planlandığı işlevde os.clock() çağırılarak gerçek zamanı hesaplayabilirsiniz.

Çağrı scripti seri bir ifade olarak çalışıyorsa, gecikmiş işlev veya günlük işlemci işlemi seri bir ifade olarak yeniden başlatılır. Eğer çağrı scripti seri bir ifade olarak yeniden başlatılıyorsa, gecikmiş işlev veya günlük işlemci işlemi paralel bir ifade olarak yeniden başlatılır. For more information, see Parallel Lu

Parametreler

duration: number

Fonksiyon/Thread'in çağrılması/yeniden başlatılması için geçmesi gereken minimum saniye sayısı.

functionOrThread: function | coroutine
...: Variant

Çağrılması/yeniden başlatılması gereken işlev/Thread'e argümanlar.

Dönüşler

Planlanmış olan subprocess.

desynchronize

()

Çağrı scripti seri bir ifade aşamasında şu anda çalışıyorsa, desynchronize , script'i ve script'i durdurur ve sonraki paralel ifade aşamasında script'i yeniden başlatır. Eğer çağrı scripti seri bir ifade aşamasında şu anda çalışıyorsa, desynchronize , derhal yeniden iade edilir ve hiçbir etkisi yok

Sadece Actor'ın soyundan olan yazılımlar bu yöntemi çağırebilir. Eğer Actor'ın soyundan olan bir yazılım bu yöntemi çağırırsa, bir hata oluşur.ModuleScript'in ayrıca desynchronize olarak adlandırılabilir, bu da Actor'ın soyundan olan bir yazılımın anında çağrılması gerektiği y

Daha fazla bilgi için, Parallel Luau bakın.

Dönüşler

()

synchronize

()

Çalıştırma kısmı paralel bir ifade aşamasında şu anda çalışıyorsa, synchronize , kısmı askıya alır ve kısmı bir sonraki seri ifade aşamasında yeniden başlatılır. Çalıştırma kısmı paralel bir ifade aşamasında şu anda çalışıyorsa, synchronize , derhal iade edilir

Sadece Actor'ın soyundan olan yazılımlar bu yöntemi çağırebilir. Eğer Actor'ın soyundan olan bir yazılım bu yöntemi çağırırsa, bir hata oluşur.ModuleScript'in ayrıca synchronize olarak adlandırılabilir, bu da modülün anından gerektiği bir istemci tarafından gerektirildiğinde gerektirmeyi gere

Daha fazla bilgi için, Parallel Luau bakın.

Dönüşler

()

wait

Verilen süre (saniye) sona erene kadar mevcut subüre sağlar, sonra bir sonraki Heartbeat adımında subüreyi yeniden başlatır. Gerçek süre için iade edilir.

Herhangi bir süre verilmezse, varsayılan olarak sıfır (0) olacaktır. Bu, aynı davranışsal olarak RunService.Heartbeat:Wait() ile devam eder

Deprecated global wait , bu işlev sınırlandırmaz ve ilk Heartbeat'te gerçekleştiğinde işlemciyi yeniden başlatma garantisi verir. Bu işlev sadece elapsed süreyi ve hiçbir şeyi daha iade eder.

Çağrı scripti seri bir ifade olarak şu anda çalışıyorsa, script seri bir ifade olarak yeniden başlatılır. Eğer çağrı scripti paralel bir ifade olarak şu anda çalışıyorsa, script paralel bir ifade olarak yeniden başlatılır. Daha fazla bilgi için, Parallel Luau bakınız.

Parametreler

duration: number

Mevcut subtid'in yeniden başlatılmasından önce kaybolması gereken saniye sayısı.

Varsayılan değer: 0

Dönüşler

cancel

()

Bir başlığı iptal eder ve kapatır, böylece manuel olarak veya görev planlayıcı tarafından yeniden başlatılamaz.

Bu işlev, görev kütüphanesinin diğer üyeleri tarafından bir başlangıç ​​oturumunu iptal etmeden önce iptal edilebilir. Örneğin:


local thread = task.delay(5, function()
print("Hello world!")
end)
task.cancel(thread)

Not: Başlıklar iptal edilemez bir durumda olabilir. Örneğin, şu anda çalışan başlık ve yeniden başlatılan başlıklar iptal edilemez olabilir. Bu durumda, bir Lua hata oluşturulur.

Ancak, kod task.cancel() ın başarısız olmasına neden olan özel thread durumlarına veya koşullara güvenmemelidir. Gelecekteki güncellemeler bu kısıtlamaları ortadan kaldırabilir ve bu durumdaki başarıyla başlatılan başlıca başlatıcıların başlatılmasını sağlayabilir.

Parametreler

thread: coroutine

İptal edilecek olan yorum.

Dönüşler

()