解决方案 »

  1.   

    用线程池了么?  比如这个 ThreadPoolExecutor
      

  2.   

    如果使用线程池    public ThreadPoolExecutor(int corePoolSize,
                                  int maximumPoolSize,
                                  long keepAliveTime,
                                  TimeUnit unit,
                                  BlockingQueue<Runnable> workQueue,
                                  RejectedExecutionHandler handler) {
            this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
                 Executors.defaultThreadFactory(), handler);
        }线程池创建的时候,有一个handler就是处理异常的,可以实现那个接口写自己的逻辑,当异常出现时,调用线程池的shutdownNow() 方法就可以了 具体可查api
      

  3.   

    如果使用线程池    public ThreadPoolExecutor(int corePoolSize,
                                  int maximumPoolSize,
                                  long keepAliveTime,
                                  TimeUnit unit,
                                  BlockingQueue<Runnable> workQueue,
                                  RejectedExecutionHandler handler) {
            this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
                 Executors.defaultThreadFactory(), handler);
        }线程池创建的时候,有一个handler就是处理异常的,可以实现那个接口写自己的逻辑,当异常出现时,调用线程池的shutdownNow() 方法就可以了 具体可查api
    你这个是实现Runnable接口。我的线程需要有返回值实现的是Callable接口啊。