• 线程和进程


    线程:启动速度快

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

    进程:启动速度慢

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

      要操纵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)

  • 相关阅读:
    委托、Lamda表达式
    springcloud-feign的hystrix支持
    springcloud-断路器hystrix
    Java原子性、可见性、内存模型
    volatile特性
    synchronized实现可见性
    Js四则运算精度问题处理
    docker 简单安装java web项目
    elasticsearch 分布式集群搭建
    logstash-input-jdbc同时同步多个表
  • 原文地址:https://www.cnblogs.com/xiangrikuidebuluo/p/9355692.html
Copyright © 2020-2023  润新知