【发布时间】:2014-09-17 07:07:15
【问题描述】:
此代码用作初始化实例的构造函数的一部分。 我想知道 ConditionVariable 的确切用途是什么?
我唯一的猜测是调用线程在初始化完成之前无法获得这个类的锁。我的想法对吗?
final ConditionVariable conditionVariable = new ConditionVariable();
new Thread() {
@Override
public void run() {
synchronized (SimpleCache.this) {
conditionVariable.open();
initialize();
}
}
}.start();
conditionVariable.block();
【问题讨论】:
-
如果不显示 open 和 block 的代码,你会得到最好的结果是一个猜测......在构造函数中启动一个线程也很臭......
-
@assylias 这不是构造函数中的威胁。一个匿名的内部类扩展 Thread 类已创建并实例化,然后它就开始了
-
@KumarAbhinav - 你从哪里得到的信息?
-
@TheLostMind 如果你说的是外部类,那么线程可能是作为构造函数的一部分的内部类。我说的是内部类
-
@KumarAbhinav "此代码用作构造函数的一部分..."
标签: java android multithreading condition-variable