2011-04-14 29 views
0

我有一个Android中的线程之间同步的问题。Android - 在活动中访问变量(使用同步)

什么我是:

2线程从活动催生,并且每个该线程在活动同时访问的字段。

什么我想到的是使用同步,如

synchronize private void functionA() 

synchronize(mContext){ 
.... 
} 

(其中mContext是活动的上下文中)

但我不知道这是否将真正起作用。

还是有没有人有更好的想法?

谢谢。

回答

1

这里是一个很好的例子 - 你让私有变量,然后创建同步的getter和setter函数:

class Account { 
    private double balance;    // make variable private 

    // write synchronized accessor methods 
    public synchronized void setBalance(double b) { 
     balance = b; 
    } 

    public synchronized double getBalance() { 
     return balance; 
    } 

    // modify update method to use accessor methods 
    synchronized void updateBalance(double amount) { 
    // double b = getBalance(); 
     setBalance(getBalance() + amount); 
    } 
} 

来源:http://www.janeg.ca/scjp/threads/synchronized.html

这里是另一个例子,这次使用的ArrayList: http://www.vogella.de/articles/JavaConcurrency/article.html#concurrencyjava_synchronized

+0

哇非常感谢 – 2011-04-14 22:59:08

0

同步可以做到这一点,并使线程同步。