이Dict()
함수는 동시 스레드에 전달하기 위해 사전 객체를 생성하는 데 사용됩니다.
이Dict()
함수는 a를 반환합니다ThreadDict
object.
ThreadDict
물체
딕트 (Dict)
function threadFun1(obj) {
obj["age"] = 100
while (true) {
Log("threadFun1 obj:", obj)
Sleep(5000)
}
}
function threadFun2(obj) {
while (true) {
Log("threadFun2 obj:", obj)
Sleep(5000)
}
}
function main() {
var obj = {"age": 10}
var t1 = threading.Thread(threadFun1, obj)
var t2 = threading.Thread(threadFun2, obj)
t1.join()
t2.join()
}
일반 객체를 동시 스레드 실행 함수로 전달하여 객체의 키 값을 수정하면 다른 스레드에서 객체의 키 값을 변경하는지 테스트합니다.
function threadFun1(threadDict) {
threadDict.set("age", 100)
while (true) {
Log(`threadFun1 threadDict.get("age"):`, threadDict.get("age"))
Sleep(5000)
}
}
function threadFun2(threadDict) {
while (true) {
Log(`threadFun2 threadDict.get("age"):`, threadDict.get("age"))
Sleep(5000)
}
}
function main() {
var threadDict = threading.Dict()
threadDict.set("age", 10)
var t1 = threading.Thread(threadFun1, threadDict)
var t2 = threading.Thread(threadFun2, threadDict)
t1.join()
t2.join()
}
놔줘ThreadDict
이 객체에 의해 만들어진Dict()
동시 스레드 실행 함수와 함수를 연결하고, 객체의 키 값을 수정하면 다른 스레드에서 객체의 키 값을 변경할 수 있는지 테스트합니다.
공통 객체가 동시 스레드 함수로 전달되면, 그것은 딥 코피로 전달됩니다. 동시 스레드에서 키 값을 수정하면 다른 스레드의 사전에 영향을 미치지 않습니다.
백테스팅 시스템과 라이브 거래 환경을 지원합니다.
{@fun/Threads/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/threading/Thread Thread}, {@fun/Threads/threading/threading/pending pending}, {@fun/Threads/threading/eventLoop}
이벤트 미뤄지고 있습니다