我对 Android 中的线程之间的同步有疑问。
我拥有的是:
从一个 Activity 中派生出 2 个线程,并且每个线程都同时访问该 Activity 中的一个字段。
我想到的是使用synchronize,比如
synchronize private void functionA()
或
synchronize(mContext){
....
}
(其中 mContext 是 Activity 的上下文)
但我不确定它是否真的有效。
或者谁有更好的想法?
谢谢。
最佳答案
这是一个很好的例子 - 将变量设置为私有(private),然后创建同步的 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
关于java - Android - 访问 Activity 中的变量(使用同步),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5660027/