Day13.5 进程与线程2019-10-27

进程与线程day 13.5


学习计划:

  1. 学完day13的任务
  2. 学会续行
  3. 保存代码

学习内容:

  1. 多进程还是多线程:
    • 优点:多任务同时进行
    • 缺点:切换任务容易耗时间。

问题:为什么会切换任务,不是同时进行的吗?
回答:我认为,在单核CPU里面,多线程是不可能真正的并发的,只是因为不停地切换导致多线程看上去在同时做任务。但是多进程是同时并发的,这也说明,多进程适用于真正地同时进行几个任务,比如下载东西时逛淘宝之类的;多线程适用于对同一资源进行不同的操作,比如你的爸爸妈妈同时给你的银行卡打钱。

  1. 适用范围:
  • 适用于I/O密集型任务(input和output,比如下载,和网络应用)。
  • 不适用于计算密集型任务,比如解码之类的大量消耗CPU的任务
  1. 异步I/O:
    通过异步I/O,使得单进程单线程可以同时执行多个任务,成为事件驱动模型,在多核CPU中就是多进程,在python中异步I/O成为协程,有单线程+协程,和多进程+协程
  2. 续行时注意\的使用,有逗号时不使用\,即
# 没有逗号时字符串太长用\
print('很长很长很长很长很长很长很长很长很长很长很长很长\
    很长很长很长很长很长很长很长很长很长的句子')
# 错误的示范如下
print('很长很长很长很长很长很长很长很长很长很长很长很长
    很长很长很长很长很长很长很长很长很长的句子')
# 字符串太长,有逗号时,分开时处的逗号后面不用空格,
print('qwerty', 'werwerwerrrrrrrrq', 'fweeeeeeee',
      'fewrfwefwefffrewwfewrfwrgewbrg')
dictionary = {
        'name': 'hilary',
        'gender': 'girl',
        'birthday': '0115',
        'book ': 'Harry Potter'
        }

对python的话:

  总是担心自己学的与数据分析无关,其实时间充裕,多看一点,真的很有意思呀,不要浮躁.
  敲代码时,总觉得很无趣,没意思。唉,怎么说呢?孰能生巧,巧思和匠心都是来源于一遍又一遍看似枯燥的重复练习中。

未做的事:

  1. 保存代码
  2. 由于multiprocessing没有安装成功,所以案例2没有写完,记得将来安好了写
  3. 学会怎么安装包

你可能感兴趣的