3

编程语言:JAVA/Android

主题“结构”

主线程(启动其他线程)

---(多个属性)

---人工智能线程

---TouchListener线程

---脚本线程

---渲染线程

描述

属性的一个示例是脚本线程指示的参与者;它的路线是由 AI 线程计算出来的,而 3D 坐标是由渲染器改变的。

所有线程都不是可以访问属性的私有内部类,而是实现 Runnable 的简单类

问题

如何在那些无休止运行的线程之间共享对象(属性)?每个线程都必须有权访问主线程的所有资源。(问题不在于如何同步它们,我已经知道“同步”和锁的概念)

4

3 回答 3

1

您可以创建一个由主线程/类实例化的类 SimulationModel,并由 setter 或其构造函数提供给其他人。

此类包含所有数据并拥有锁以保持一致性。

关于数据操作的逻辑也可能发生在这里。

于 2012-10-30T16:01:34.020 回答
0

如果您不是在询问是否对对象进行线程安全的访问,那么您是否只是在询问如何在其他线程中访问它们?如果是这样,只需通过构造函数将它们传递给那些可运行的对象。

于 2012-10-30T16:00:26.987 回答
0

一种选择是让你的“属性”静态变量在一个类中全局使用它们

该答案的示例:

public class Global {

public static int a;
public static int b;
}

现在您可以通过调用从任何地方访问 a 和 b

Global.a;

Global.b;
于 2012-10-30T16:04:43.637 回答