方法内创建简单线程池
private static ThreadPoolExecutor executor;
static {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("cmd-pool-%d").build();
//根据实际情况创建线程池
executor = new ThreadPoolExecutor(6, 10, 5,
TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(1024),
namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
}
/**
* 流处理
*
* @param stream
*/
private static void clearStream(InputStream stream) {
//处理buffer的线程
executor.execute(new Runnable() {
@Override
public void run() {
String line = null;
try (BufferedReader in = new BufferedReader(new InputStreamReader(stream));) {
while ((line = in.readLine()) != null) {
log.debug("clearStream-debug:{}", line);
}
} catch (IOException e) {
log.error("clearStream-error:{}", line);
}
}
});
}