|
1
0
我要做的是完全依赖于我的应用程序及其日志组件的要求。
如果日志记录是“最大的努力”,那么ThreadPool就可以满足对应用程序所需性能和延迟的其他限制。在这里,记录器的异步I/O就可以了。由于您建议降低假定日志线程的优先级,这可能与应用程序的配置文件匹配。 如果线程池上发生了更关键的工作,那么我不会重载它来进行日志记录,特别是如果日志记录本身很重要的话—您很可能正在执行同步的、刷新的I/O以写出日志,这可能是一个瓶颈,具体取决于您要记录的内容的数量。 |
|
|
2
0
如果日志记录不是关键的,并且您希望异步进行,那么我建议使用单个后台线程进行日志记录,并使用生产者/消费者队列发送日志消息。与线程池相比,这可以提高性能,因为只有一个线程在不太重要的日志上执行I/O,这就不太可能在其他线程上阻止更高优先级的I/O。 您还可以使用此机制确保在记录之前提交关键日志。将它们添加到队列中,然后有一种机制等待特定消息提交。 |
|
|
RoddyRott · 如何监视AWS中的线程 8 年前 |
|
|
John · 非阻塞http客户端与使用独立线程池的阻塞http客户端 8 年前 |
|
|
Yomal · 在java中,如何知道线程池的任务何时结束 8 年前 |
|
|
Hymir · 用于挂起线程的C++线程池 9 年前 |
|
|
WeInThis · Python-将线程转换为多处理 9 年前 |