وسائل لوڈ ہو رہے ہیں... لوڈنگ...

قفل

کےLock()فنکشن ایک تھریڈ لاک آبجیکٹ بنانے کے لئے استعمال کیا جاتا ہے.

کےLock()فنکشن ایک تھریڈ لاک آبجیکٹ لوٹاتا ہے.

ThreadLockچیز

قفل (()

function consumer(productionQuantity, dict, lock) {
    for (var i = 0; i < productionQuantity; i++) {
        lock.acquire()
        var count = dict.get("count")        
        Log("consumer:", count)
        Sleep(1000)
        lock.release()
    }
}

function producer(productionQuantity, dict, lock) {
    for (var i = 0; i < productionQuantity; i++) {
        lock.acquire()
        dict.set("count", i)
        Log("producer:", i)
        Sleep(1000)
        lock.release()
    }
}

function main() {
    var dict = threading.Dict()
    dict.set("count", -1)
    var lock = threading.Lock()
    var productionQuantity = 10
    var producerThread = threading.Thread(producer, productionQuantity, dict, lock)
    var consumerThread = threading.Thread(consumer, productionQuantity, dict, lock)

    consumerThread.join()
    producerThread.join()
}

دو متوازی موضوعات ایک مشترکہ وسائل تک رسائی حاصل.

یہ بیک ٹیسٹنگ سسٹم اور لائیو ٹریڈنگ ماحول کی حمایت کرتا ہے.

{@fun/Threads/threading/getThread getThread}، {@fun/Threads/threading/mainThread mainThread}، {@fun/Threads/threading/currentThread currentThread}، {@fun/Threads/threads/threading/ThreadThread}، {@fun/Threads/threads/threading/condition Condition}، {@fun/Threads/threads/threading/event Event}، {@fun/Threads/threads/threading/Dict Dict}، {@fun/Threads/threads/threading/pending pending}، {@fun/Threads/threads/threading/threading/eventLoop}، {@fun/Threads/threads/threads/eventLoop}

موجودہ تھریڈ حالت