Skip to content

Commit 848b3a8

Browse files
committed
初步完成线程池的所有内容 #12
1 parent 601d70b commit 848b3a8

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

homework/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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) 文件夹中。

md/详细分析/04线程池.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
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` 文件夹中。

0 commit comments

Comments
 (0)