File tree Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Original file line number Diff line number Diff line change 1+ # 此处存放作业
2+
3+ - ** 文件名** :` id ` + 日期数字。
4+
5+ ` id ` :随意。
6+
7+ 日期数字:` 8 ` 位数字,例如现在是 2024 年 7 月 31 日,那么日期数字则为:` 20240731 `
8+
9+ - ** 后缀名** :根据作业情况,随意。如果是普通代码,自然是 ` .cpp ` 后缀。
10+
11+ ---
12+
13+ 1 . 线程池作业存放在 [ thread_pool] ( ./thread_pool ) 文件夹中。
Original file line number Diff line number Diff line change 1+ [ TOC]
2+
13# 线程池
24
35## 前言
@@ -494,3 +496,22 @@ sum: 90
494496- ** ` submit() ` ** :将任务提交到任务队列,并返回一个` std::future ` 对象用于获取任务结果。
495497
496498- ** ` start() ` ** :启动线程池,创建并启动指定数量的线程。
499+
500+ ---
501+
502+ 当然,你可能还希望我们的线程池具备更多功能或改进,比如控制任务优先级、设置最大线程数量、返回当前活跃线程数等。此外,异常处理也是一个值得考虑的方面。
503+
504+ 有些功能实现起来非常简单,而有些则需要更多的思考和设计。不过,这些优化超出了本次讲解的范围。如果有兴趣,可以尝试自行优化我们提供的线程池实现。我们给出的线程池实现简单完善且直观,用来学习再好不过。
505+
506+ ## 总结
507+
508+ 在本章中我们详细的介绍了:
509+
510+ - 线程池的基本概念。
511+
512+ - 市面上常见的线程池的设计与使用, ` boost::asio::thread_pool ` 、` QThreadPool ` 。
513+ - 实现一个简易的线程池。
514+
515+ 总体而言,内容并不构成太大的难度。
516+
517+ ** 课后作业:** 自己实现一个线程池,可以参考我们给出的线程池实现增加功能,提交到 ` homework ` 文件夹中。
You can’t perform that action at this time.
0 commit comments