zoukankan      html  css  js  c++  java
  • python之并发编程

    '''
    1.什么是进程?
    	进程是指正在执行的一个程序或任务,而负责执行任务的是CPU
    2.进程和程序的区别
    	程序只是一段代码。
    	进程是指程序运行的过程。
    
    3.并行与并发
    	并发:‘伪并行’,看起来是同时运行。单个CPU+多道技术就可以实现并发。
    	并行:同时允许,只有具备多个cpu才能实现并行。
    单核下,可以利用多道技术。
    多核下,每个核也都可以利用多道技术。(多道技术是针对单核来说的)
    
    4.进程的三种状态
    运行---就绪---阻塞
    '''
    
    
    

    同步、异步和阻塞、非阻塞

    '''
    1.同步:
    	在发出一个功能调用时,在没有得到结果之前,该调用就不会返回。按照这个定义,起始绝大数函数都是同步调用。
    2.异步:
    	异步的概念和同步相对。当一个异步调用发起时,调用者不能立刻得到结果,当该异步功能完成后,通过状态、通知或回调来通知调用者。
    3.阻塞:
    	阻塞调用是指调用结果返回之前,当前线程会被挂起(如遇到io操作)。函数只有在得到结果之后才会将阻塞的线程激活。
    4.非阻塞:
    	与阻塞概念相对。指在不能立刻得到结果的情况下也会立刻返回,同时该函数不会阻塞当前线程
    '''
    
    '''
    多进程
    multiprocessing 模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数)。
    multiprocessing 模块的功能众多:支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。
    
    '''
    
    '''
    Process类
    	- 是一个创建进程的类,由该类实例化得到的对象,表示一个子进程中的任务。
    ps:
    	- 需要使用关键字的方式来传参
    	- args指定为传给target函数的位置参数,是一个元组形式,必须有逗号
    
    方法介绍:
    ------
    1.p.start():启动进程、并调用该子进程中的p.run()
    2.p.run():进程启动时运行的方法,正是它去调用target指定的函数,我们自定义类的类中一定要实现该方法
    3.p.terminate():强制终止进程p,不会进行任何清理操作,如果p创建了子进程,该子进程就成了僵尸进程,使用该方法需要特别小心这种情况。如果p还保存了一个锁,那么锁也将不会被释放,进而导致死锁。
    4.p.is_alive():如果p仍然允许,返回True
    5.p.join([timeout])
    ------
    属性介绍:
    ------
    1.p.daemon:默认值为False,如果为True,代表p为后台运行的守护进程,当p的父进程终止时,p也随之终止,并且设定为True后,p不能创建自己的新进程,必须在p.start()之前设置
    2.p.name:进程的名字
    3.p.pid:进程的pid
    4.p.exitcode:进程在运行时为None,如果为-N,表示被信号N结束(了解)
    5.p.authkey:进程的身份验证键,默认是由os.urandom()随机生成的32字符的字符串。这个键的用途是为涉及网络连接的底层进程间通信提供安全性,这类连接只有在具有相同的身份验证键时次啊能成功(了解)
    
    
    ------
    
    
    '''
    
  • 相关阅读:
    Mac OSX 读写usb composite设备
    std io的一个笔记
    国庆假期掠影
    c++类型转化
    operator new and delete
    一个递归求和的两种方法
    10.24,今天是程序员节
    基于MyUsbDevice类的一个例子
    逆波兰表达式笔记
    2012年的最后一天
  • 原文地址:https://www.cnblogs.com/Ghostant/p/12013218.html
Copyright © 2011-2022 走看看