代码如
synchronized (this)
{
mTimeOutRunnable = new Runnable()
{
@Override
public void run()
{
..some code
}
};
}
新 Runnable
类的引用赋值被该 block 覆盖,但将在 run() 内部编码(异步 在 block 外调用)进入synchronized
block 也?
我首先包裹在同步块(synchronized block)中,因为这是从工作线程调用的,我想确保调用(主)线程也可以访问 mTimeOutRunnable
对象。
最佳答案
不,只有将 Runnable
分配给 mTimeOutRunnable
才会被 synchronized
block 覆盖,而不是对 run 的后续调用()
方法。
关于Java 同步块(synchronized block)和匿名类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13709149/