Die Ressourcen sind geladen. Beförderung...

Faden

DieThread()Funktion wird verwendet, um gleichzeitige Threads zu erstellen.

DieThread()Funktion gibt a zurückThreadObjekt, mit dem gleichzeitige Threads verwaltet werden, Threads kommunizieren usw.

ThreadGegenstand

Thread ((func,...args) Der Begriff "Thread" (Artikel)

Der Parameterfuncist eine Funktion zur gleichzeitigen Ausführung (übergeben durch Referenz) und unterstützt die Übergabe anonymer Funktionen.funckann mehrere Parameter akzeptieren, die durch...argsDaher wird die Parameterliste vonfuncdie in der Richtlinie...args.

Funktion wahr Funktion Der Parameterargist der tatsächliche Parameter, der anfunc(d. h. die Funktion zur gleichzeitigen Ausführung von Threads), wenn der Rückruf ausgeführt wird; es kann mehrere Parameter gebenarg, und die Parameterliste derfuncdie in der Richtlinie...args.

Arg falsche String, Zahl, bool, Objekt, Array, Funktion, Nullwert und andere vom System unterstützte Typen Der Parameteritemist ein Array, das die gleichzeitig auszuführenden Funktionsreferenzen und deren Parameter enthält.itemParameter können bei Aufruf derThread function.

Artikel wahr Reihenfolge

function test1(a, b, c) {
    Log("test1:", a, b, c)
}

function main() {
    var t1 = threading.Thread(test1, 1, 2, 3)
    var t2 = threading.Thread(function (msg) {
        Log("msg:", msg)
    }, "Hello thread2")

    t1.join()
    t2.join()
}

Erstellen Sie gleichzeitige Threads für eine benutzerdefinierte Funktion und eine anonyme Funktion.

function test1(msg) {
    Log("msg:", msg)
    test2("Hello test2")
}

function main() {
    var t1 = threading.Thread(
        [function(a, b, c) {Log(a, b, c)}, 1, 2, 3], 
        [test1, "Hello test1"], 
        [`function test2(msg) {Log("msg:", msg)}`])

    t1.join()
}

VerwendenThread(...items)Form, um gleichzeitige Threads zu erstellen und mehrere Funktionen sequenziell auszuführen.

function ml(input) {
    const net = new brain.NeuralNetwork()
    net.train([
        { input: [0, 0], output: [0] },
        { input: [0, 1], output: [1] },
        { input: [1, 0], output: [1] },
        { input: [1, 1], output: [0] },
    ])
    return net.run(input)
}

function main() {
    var ret = threading.Thread([ml, [1, 0]], [HttpQuery("https://unpkg.com/brain.js")]).join()

    // ret: {"id":1,"terminated":false,"elapsed":337636000,"ret":{"0":0.9339330196380615}}
    Log(ret)
}

Es unterstützt die Übergabe von Funktionsfolgen und kann dynamisch externe Bibliotheken für gleichzeitiges Rechnen importieren.

Die Fädenfunktionfuncin dieThread()Die Funktion für die gleichzeitige Ausführung läuft in einer isolierten Umgebung, so dass Variablen außerhalb des Threads nicht direkt referenziert werden können, und die Kompilierung wird beim Referenzieren fehlschlagen. Gleichzeitig werden Referenzen zu anderen Closure-Funktionen nicht innerhalb des Threads unterstützt. Alle von der Plattform bereitgestellten APIs können innerhalb des Threads aufgerufen werden, aber andere benutzerdefinierte Funktionen können nicht aufgerufen werden.

Es unterstützt Backtesting-System und Live-Trading-Umgebung. Alle gleichzeitigen Thread-bezogenen Funktionen werden nur als Code-Kompatibilität im Backtesting-System unterstützt und werden nicht tatsächlich von gleichzeitigen Threads ausgeführt, so dass sie in diesem Kapitel nicht wiederholt werden.

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

Netzeinstellungen GetThread wird verwendet