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内的异常被捕获了,不会抛出异常.
使用这种方式线程的工作状态可靠吗?如果不可靠应该使用什么样的方式.
只是使用的话是可靠的,不过建议额外处理下interrupted。
另外如果是这种常驻任务的话,我一般是使用
ScheduledExecutorService.scheduleWithFixedDelay
。