zoukankan      html  css  js  c++  java
  • 线程和进程

    线程:启动速度快

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

    进程:启动速度慢

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

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

  • 相关阅读:
    5.9编程练习
    linux下查看torch版本和cuda版本
    4.13编程练习
    C++ Primer Plus-3.7编程练习-第2题和第5题
    More on vim tips
    Method Calling in Perl
    换零钱 动态规划解法 C语言描述
    海伦平方根算法(LISP描述)
    expect 实现模拟交互
    tmux 入门
  • 原文地址:https://www.cnblogs.com/xiangrikuidebuluo/p/9355692.html
Copyright © 2011-2022 走看看