编程语言:JAVA / Android
主线(开始其他踏板)
---(多重属性)
--- AI线程
--- TouchListener线程
---脚本线程
---渲染线程
属性的一个例子是由scritping线程指示的actor; 它是由AI线程计算的路线和渲染器改变的3D坐标。
所有线程都不是可以访问属性的私有内部类,而是实现Runnable的简单类
如何在无休止运行的线程之间共享对象(属性)? 每个线程都必须能够访问主线程的所有资源。 (问题不在于如何同步它们,我知道“同步”和锁的概念已经存在)
答案 0 :(得分:1)
您可以创建一个类SimulationModel,它由Main thread / class实例化,并由setter或其构造函数提供给其他人。
此类包含所有数据并拥有锁以保持一致性。
关于数据操作的逻辑也可能在这里发生。
答案 1 :(得分:0)
如果您没有询问是否可以访问对象的线程安全,您是否只是询问如何在其他线程中访问它们?如果是这样,只需通过构造函数将它们传递给那些可运行的对象。
答案 2 :(得分:0)
一种选择是制作“属性”static variables in a class to use them globally:
答案的例子:
public class Global { public static int a; public static int b; }
现在您可以通过调用
从任意位置访问a和bGlobal.a; Global.b;