线程和进程

线程:启动速度快

  是操作系统能够进行运算调度的最小单位,是一串指令的集合

进程:启动速度慢

  一个进程操作的的实例被称为进程,是资源的集合

  要操纵CPU,必须建立一个进程。

线程启动速度快,进程启动速度慢,运行速度俩者没有可比性。

区别:

  all the threads in a process have the same view of the memory

  所有在同一个进程里的线程是共享同一块内存空间的

  线程共享内存空间,进程的内存是独立的。

  同一个进程的线程之间可以直接交流。俩个进程想通信,必须通过一个中间代理来实现。

  新的线程容易创建,新的进程必须克隆一次父进程

  一个线程可以控制和操作同一进程里的其它线程。但是进程只能操作子进程。

  对于主线程的修改有可能会影响其它线程的运行,但是对父进程的修改不会影响子进程。

简单多线程的例子:

import threading

def run(n):

  print("task",n)

t1 = threading.Thread(target = run,args = ("t1",))

t2 = threading.Thread(target = run,args = ("t2",))

t1.start()

t2.start()

 

守护线程

  如何把子线程变成守护线程: 在线程启动代码前加一句代码

  子线程名.setDaemon(True)

原文地址:https://www.cnblogs.com/xiangrikuidebuluo/p/9355692.html