# 03多任务(线程 & 进程) [](https://github.com/sindresorhus/awesome)
具体的请查看该篇章中的代码实现。
****
|Author|白发老书生|
|---|---
|E-mail|china.hao.zhang@gmail.com
****
目录
* [Day01](#day01)
* 01-知识回顾
* 02-三次握手与listen函数参数和accept函数功能说明
* 03-四次挥手与address in use问题说明
* 04-TCPIP参考模型-了解
* 05-多任务目的-并发-并行-重点
* 06-线程概念和使用threading的Thread创建线程-重点
* 07-阻塞等待所有子线程退出后继续执行代码
* 08-Thread子类并且实现其中run方法
* 09-小结-线程执行状态转换
* 10-多线程共享全局变量引起资源竞争混乱-重点
* 11-多线程同步之互斥锁可以保证只能被一个任务所占有-重点
* 12-给线程函数传递参数
* 13-互斥锁总结
* 14-案例-多任务聊天工具
* [Day02](#day02)
* 01-昨日回顾
* 02-线程死锁问题-了解
* 03-程序对比进程概念-进程状态切换-重点
* 04-创建子进程-获取PID-PPID-重点
* 05-Process实例对象的方法和属性说明-重点
* 06-多进程执行顺序不确定-进程间不共享全局数据
* 07-使用Queue完成进程间通信-重点
* 08-Queue的full empty qszie方法-重点
* 09-案例-文件夹复制效果演示和流程分析
* 10-案例-文件夹复制代码实现
* [Day03](#day03)
* 01-昨日回顾
* 02-Queue队列的get put阻塞超时和非阻塞操作说明
* 03-理解进程池的工作模式-区分两种添加任务的区别
* 04-进程池的细节说明
* 05-迭代概念-可迭代对象-如何判断可迭代对象
* 06-对可迭代对象的迭代过程分析-iter函数获取迭代器-next函数通过迭代器取出下一个元素的值
* 07-实现一个提供迭代器的可迭代对象
* 08-判断一个对象是否是迭代器
* 09-使用迭代器计算斐波纳契数列
* 10-迭代器小结
* 11-生成器是一种特殊的迭代器支持所有迭代器的操作-生成器表达式-生成器函数-yield关键字作用分析
* 12-生成器计算斐波纳契数列
* 13-掌握yield关键字两个作用-使用send函数给生成器对象发送数据-总结
* [Day04](#day04)
* 01-复习
* 02-yield和greenlet实现协程切换执行-了解
* 03-gevent实现协程自动切换执行-重点
* 04-案例-网页多任务下载器
* 05-进程线程协程总结-重点
* 06-使用集线器和交换机进行网络组网-了解
* 07-使用路由器进程网络组网-了解
* 08-上网过程分析-了解
* 09-网络概念小结-了解
* 10-NAT地址转换可以让多台设置使用同一公网IP不同端口上网-了解
* 11-HTTP协议介绍
* 12-使用浏览器对HTTP请求响应过程进行分析
* 13-HTTP请求格式说明-重点
## COMMITS
[Commits](https://github.com/HaoZhang95/PythonAndMachineLearning/commits/master)
## 报告问题
[Issues](https://github.com/HaoZhang95/PythonAndMachineLearning/issues)