我有一個類B有一個B類對象。 B類有一個布爾變量bool,A實例不斷更新(關閉事件)。 B對象b實現Runnable。在實現Runnable的類中分配變量的最快方法是什麼?
class A{
private B b;
}
class B implements Runnable{
private boolean bool;
run(){
while(true){
if(bool){//do something}
}
}
}
我認爲布爾布爾實際上是一個的線程,因爲它被初始化時,調用B的構造函數,而B線纔開始啓動被稱爲在B實例,並啓動不叫,直到在bool被初始化之後。
如果是這種情況,那麼b線程必須保留它自己的bool副本。如果是這樣的話,bool從b線程看到它的最快方式是什麼?使bool易變,還是有一些方法直接分配給b的副本?
請忘記循環,這是GLES20。我需要知道的是b是否具有bool副本,以及事件線程在GL線程上不斷更新布爾值的最快方式。
我不知道忙等待是一個好主意。這裏的信號量肯定會更好。 – Ivan
你可能想寫一些類似觀察者模式而不是while循環。還要看看'PropertyChangeEvent'事件。 – Ankit