zoukankan      html  css  js  c++  java
  • Selenium3+python自动化016-多线程

    1、进程

      什么是进程?

      进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

      程序:例如xxx.py这是程序,是一个静态的

      进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。

     

     

    2、线程

    什么是线程?

      线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。
      线程是程序中一个单一的顺序控制流程。进程内有一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指令运行时的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。

     

    3、线程与进程的区别

      进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ(QQ双开、微信双开)
      线程,能够完成多任务,比如 一个QQ中的多个聊天窗口(一个人同时跟多个妹子聊天)

      一个程序至少有一个进程,一个进程至少有一个线程.
      线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高。
      进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率
      线程不能够独立执行,必须依存在进程中
      可以将进程理解为工厂中的一条流水线,而其中的线程就是这个流水线上的工人

     有图上看出进程是线程的载体,(例如进程看成一个高速公路,线程是高速路上的汽车)

     

     4、Python多线程

    4.1、threading模块

      python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用

      单线程执行

    # 单线程实例
    from time import sleep
    
    def sing():
    	for i in range(5):
    		print('我在唱歌...')
    		sleep(0.5)
    
    def dance():
    	for i in range(5):
    		print('我在跳舞...')
    		sleep(0.5)
    
    if __name__=='__main__':
    	sing()
    	dance()
    

      

      多线程执行

    4.2、任务

      在多道程序或多进程环境中,要由计算机来完成的基本工作元,它是由控制程序处理的一 个或多个指令序列

      什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。

    4.3、并发与并行的区别?

      并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)
      并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的

     

     

     

     

     

     

  • 相关阅读:
    django页面分类和继承
    django前端从数据库获取请求参数
    pycharm配置django工程
    django 应用各个py文件代码
    CF. 1428G2. Lucky Numbers(背包DP 二进制优化 贪心)
    HDU. 6566. The Hanged Man(树形背包DP DFS序 重链剖分)
    小米邀请赛 决赛. B. Rikka with Maximum Segment Sum(分治 决策单调性)
    区间树 学习笔记
    CF GYM. 102861M. Machine Gun(主席树)
    2016-2017 ACM-ICPC East Central North America Regional Contest (ECNA 2016) (B, D, G, H)
  • 原文地址:https://www.cnblogs.com/liunaixu/p/11195692.html
Copyright © 2011-2022 走看看