• 进程2


    管道:

    Conn1,conn2 = Pipe()

    Conn1.recv()

    Conn1.send()

    数据接收一次就没有了

    事件:

    E = Event()  #初识状态是false

    E.wait()  当事件对象e的状态为false的时候,wait的地方会阻塞程序,当对象状态为true的时候,直接在这个wait地方继续往下执行

    E.set()  将事件对象的状态改为true,

    E.is_set() 查看状态

    E.clear()  将事件对象的状态改为false

    信号量:

    S = semphore(4),内部维护了一个计数器,acquire-1,release+1,0的时候,其他的进程都要在acquire之前等待

    S.acquire()

    需要锁住的代码

    S.release()

    进程池(*****)

    进程的创建和销毁是很有消耗的,影响代码执行效率

    进程池:

    Map:异步提交任务,并且传参需要可迭代类型的数据,自带closejoin功能

    Res = Apply(f1,args=(i,))  #同步执行任务,必须等任务执行结束才能给进程池提交下一个任务,可以直接拿到返回结果res

    Res_obj = Apply_async(f1,args=(i,))  #异步提交任务,可以直接拿到结果对象,从结果对象里面拿结果,要用get方法,get方法会阻塞程序,没有拿到结果会一直等待

    Close : 锁住进程池,防止有其他的新的任务在提交给进程池

    Join : 等待着进程池将自己里面的任务都执行完

    回调函数:

     Apply_async(f1,args=(i,),callback=function)  #将前面f1这个任务的返回结果作为参数传给callback指定的那个function函数

  • 相关阅读:
    SQL注入详解
    Nginx跨域及Https配置
    GET请求和POST请求的request和response的中文乱码问题
    创建Maven工程
    Maven环境变量配置
    Cookie&Session会话技术
    Maven库站
    20191002思维导图工具MindManager 000 033
    20190930-02 Redis持久化方式一:RDB及修改RDB的默认持久化策略 000 032
    Tomcat配置HTTPS方式生成安全证书
  • 原文地址:https://www.cnblogs.com/heheda123456/p/10264049.html
Copyright © 2020-2023  润新知