我有一个 A 类,它有一个 B 类对象。B 类有一个布尔变量 bool,A 实例不断更新(关闭事件)。B 对象 b 实现 Runnable。
class A{
private B b;
}
class B implements Runnable{
private boolean bool;
run(){
while(true){
if(bool){//do something}
}
}
}
我假设 boolean bool 实际上在 a 的线程上,因为它在 a 调用 B 的构造函数时被初始化,并且 b 线程直到在 b 实例上调用 start 才开始,并且直到 bool 被初始化后才调用 start。
如果是这种情况,那么 b 线程必须保留它自己的 bool 副本。如果是这种情况,从 a 更改 bool 以使 b 线程可以看到它的最快方法是什么?使 bool 不稳定,或者有什么方法可以直接分配给 b 的副本?
请忘记循环,它适用于 GLES20。我需要知道的是 b 是否有它的 bool 副本,以及事件线程在 GL 线程上不断更新布尔值的最快方法是什么。