task
*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
Bir işlevi/rutini motor planlayıcıı aracılığıyla derhal çağrılır/yeniden çağrılır.
Mevcut toplama döngüsünün sonunda bir işlev/rutin çağrılır/yeniden çağrılır.
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.
Verilen süreyi (saniye olarak) işaret edilen bir sonraki Heartbeat'e kadar kullanılabilir.
Bir başlığı iptal eder ve devam edemesini sağlar.
İşlevler
spawn
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
Dönüşler
Planlanmış olan subprocess.
defer
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
Dönüşler
Planlanmış olan subprocess.
delay
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
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
Mevcut subtid'in yeniden başlatılmasından önce kaybolması gereken saniye sayısı.
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
İptal edilecek olan yorum.