java new出来的线程运行代码可靠不可靠?

public void handlerDeviceRegRecord(){  
    thread.execute(() -> {  
        while(true){  
            try{  
                ReceiveSyncRecRecord recRecord = RegRecordHandlerQueueBiz.QUEUE.take();  
                handlerAndResponse(recRecord);  
             }catch (Exception e){  
                log.error("handle reg record error:",e);  
             }  
        }  
    });  
}

我使用这个线程池来处理队列.假设while内的异常被捕获了,不会抛出异常.

使用这种方式线程的工作状态可靠吗?如果不可靠应该使用什么样的方式.

阅读 1.3k
1 个回答

只是使用的话是可靠的,不过建议额外处理下interrupted。

另外如果是这种常驻任务的话,我一般是使用ScheduledExecutorService.scheduleWithFixedDelay

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题