我写了一个类,实现了Callable接口,但我想把这个类设置为守护线程,如何做到,请高手解答,来者有分

解决方案 »

  1.   

    setDaemon本身是Thread的方法,Callable并不提供。而且Callable的定义本身就是一个可以返回结果的Thread.如果可以设为守护,那么有可能永远拿不到结果就退出程序了,这和设计目的不符的。所以如果要设为守护就要使用Thread.
      

  2.   


    该类再实现Runnable,然后定义Thread,设置为守护线程
      

  3.   

    你用的是FutureTask(new Callable(){})吧。FutureTask继承RunnableFuture,而RunnableFuture extends Runnable,Future。因此可以Thread a = new Thread(new FutureTask(new Callable(){}));这样a.setDaemon()就行了。