进程与线程day 13.5
学习计划:
- 学完day13的任务
- 学会续行
- 保存代码
学习内容:
- 多进程还是多线程:
- 优点:多任务同时进行
- 缺点:切换任务容易耗时间。
问题:为什么会切换任务,不是同时进行的吗?
回答:我认为,在单核CPU里面,多线程是不可能真正的并发的,只是因为不停地切换导致多线程看上去在同时做任务。但是多进程是同时并发的,这也说明,多进程适用于真正地同时进行几个任务,比如下载东西时逛淘宝之类的;多线程适用于对同一资源进行不同的操作,比如你的爸爸妈妈同时给你的银行卡打钱。
- 适用范围:
- 适用于I/O密集型任务(input和output,比如下载,和网络应用)。
- 不适用于计算密集型任务,比如解码之类的大量消耗CPU的任务
- 异步I/O:
通过异步I/O,使得单进程单线程可以同时执行多个任务,成为事件驱动模型,在多核CPU中就是多进程,在python中异步I/O成为协程,有单线程+协程,和多进程+协程 - 续行时注意
\
的使用,有逗号时不使用\
,即
# 没有逗号时字符串太长用\
print('很长很长很长很长很长很长很长很长很长很长很长很长\
很长很长很长很长很长很长很长很长很长的句子')
# 错误的示范如下
print('很长很长很长很长很长很长很长很长很长很长很长很长
很长很长很长很长很长很长很长很长很长的句子')
# 字符串太长,有逗号时,分开时处的逗号后面不用空格,
print('qwerty', 'werwerwerrrrrrrrq', 'fweeeeeeee',
'fewrfwefwefffrewwfewrfwrgewbrg')
dictionary = {
'name': 'hilary',
'gender': 'girl',
'birthday': '0115',
'book ': 'Harry Potter'
}
对python的话:
总是担心自己学的与数据分析无关,其实时间充裕,多看一点,真的很有意思呀,不要浮躁.
敲代码时,总觉得很无趣,没意思。唉,怎么说呢?孰能生巧,巧思和匠心都是来源于一遍又一遍看似枯燥的重复练习中。
未做的事:
- 保存代码
- 由于multiprocessing没有安装成功,所以案例2没有写完,记得将来安好了写
- 学会怎么安装包