一、编程规约


l阿里的P3C开发规范插件会给出警告:

private static ExecutorService executor = Executors.newFixedThreadPool(4);

lJava多线程异步音频播放器:

实现Java音频播放器时,支持多线程异步播放,创建线程池时遵守《阿里Java开发手册》规约。

代码下载:https://github.com/rickding/HelloJava/tree/master/HelloAudio

class Player implements Runnable {
private static ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(
4,
new BasicThreadFactory.Builder().namingPattern("audio-player-pool-%d").daemon(true).build()
);

public static void asyncPlay(URL fileUrl) {
if (fileUrl == null) {
return;
}

// 播放进程
Player player = new Player();
try {
player.audioStream = AudioSystem.getAudioInputStream(fileUrl);
} catch (UnsupportedAudioFileException e) {
System.err.println(e.getMessage());
} catch (IOException e) {
System.err.println(e.getMessage());
}
executorService.execute(player);
}
}