1

Callable() ScheduledThreadPoolExecutor が Runnable() のようなバックグラウンド スレッドで実行されることになっている場合、UI スレッドがブロックされるのはなぜですか?

Runnable のようにバックグラウンド スレッドで実行することになっていると思いました。

 ScheduledThreadPoolExecutor stpe;

onCreateの内部

  ScheduledFuture<Integer> sf = stpe.schedule(new OtherObject2(), 5, TimeUnit.SECONDS);

  try {
    int returnedInteger = sf.get();
    textViewThree.setText("the returned integer is: " + returnedInteger);
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

ネストされた内部クラス

 public class OtherObject2 implements Callable<Integer> {

@Override
public Integer call() throws Exception {

    Integer integerReturn = 23;

    return integerReturn;
} 

 }
4

2 に答える 2

1

次の行int returnedInteger = sf.get();は、結果を待つブロックです。

于 2013-09-13T07:18:54.793 に答える