我来自台湾,英语不好,对不起。
我尝试了以下代码部分,您可以看到我打印了内存地址。
这两个内存地址相同,但是当$saved
返回时,
这是错误的,因为function getObject() {
return { param1: this.obj1.hp, param2: this.obj2.hp };
}
function bindObject() {
let obj1 = { hp: 100 };
let obj2 = { hp: 50 };
return getObject.bind({ obj1, obj2 });
}
console.log(bindObject()());
列表为空。
但是best_action
已将项目添加到子级列表中。是什么导致此错误?谢谢。
self.root.children
答案 0 :(得分:0)
子进程与父进程共享的内存空间不同。出于您的目的,应该将threading
模块使用多线程。
from threading import Thread
然后更改:
p.append(Process(target=self.simulate))
收件人:
p.append(Thread(target=self.simulate))
但是请警惕线程之间的竞争状况,因为所有线程共享相同的内存空间。您应该在更新线程之间共享的对象的操作周围使用threading.Lock
或threading.RLock
,以使代码具有线程安全性。