python并发和性能

一、并发和并行

      1.多任务:电脑上同时运行多个程序

      2.并发和并行

         并发:任务数>cpu核数,一个cpu快速的在各个任务之间切换,好像多个任务同时在执行。

         并行:任务数<=cpu核数,无需切换任务,真正的同时运行,没有间断没有切换!

      3.串行:执行完一个任务再执行下一个任务

      4.同步和异步

         同步(同步协调):指线程在访问某一资源时,获得资源的返回结果之后才会执行其他操作;

         异步:无论是否取到返回结果,都进行下步操作,当有了资源返回结果,系统自会通知线程;

二、线程

       两个事情同时做---多线程

       1.使用threading模块实现多线程

       创建线程对象:t1=threading.Thread(target=func),t2=threading.Thread(target=func)

       执行线程1:t1.start()

       执行线程2:t2.start()

       堵塞线程:t1.join(),运行完该线程再继续

       Thread类提供了以下方法:

       表示线程活动的方法 run() 、启动线程方法start()、设置主线程会等待time秒后再往下执行,time默认为子线程结束,多个子线程之间设置的值叠加

       threading.current_thread();返回当前正在执行的线程

       threading.enumerate();当前运行的所有线程对象返回list

       threading.active_count();返回当前执行线程的数量

       2.多线程实现多任务

  继承Thread类重写run()方法

import threading

class RequestThread(threading.Thread):
  def run(self):
    要执行的任务、方法
若要传参则需要重写init方法
t.RequestThread()
t.start()

     3.多线程-共享全局变量 

 

三、进程

四、

五、

posted @ 2021-10-14 23:27  Erie  阅读(112)  评论(0编辑  收藏  举报