zoukankan      html  css  js  c++  java
  • 进程池(内含回调函数),管道,事件,信号量

    管道:

    conn1,conn2 = Pipe(),全双工,可以收发消息,一端发,另一端收,跨进程使用

    事件:

      e = Event()  初始等于False

           e.wait()   当对象状态为False,此处会阻塞;当其为true,继续执行

      e.set()  对事件对象改为true

      e.is_set()查看状态

      e.clear()  将事件状态改为false

    信号量:

      s.semphore(n)   n为同时被锁的进程个数

      方法使用同Lock,相当于锁的内部加一个计数器,完成一个即可释放一个

    进程池(重点):为了提高效率,避免创建销毁重复进程的时间损失

      map(任务名,可迭代对象):异步提交任务,瞬间提交多个,开始执行,自带close和join。

      apply(任务名,参数):同步执行任务,必须等一个任务执行结束,才可以向进程池提交下一个任务,可以直接拿到返回结果

      res_obj = apply——async(任务名,参数):异步,瞬间提交多个提交任务,可以拿到返回结果对象

      从结果对象中拿结果,用get()方法,阻塞。没拿到结果会一直等。

      close():锁住进程池,防止新的任务提交给进程池

      join();等待进程池将自己里面的任务都执行完

      回调函数

        apply_async(f1,arhes(,),call_back=f2)   将前面f1任务的返回结果作为参数传给后面指定的f2

  • 相关阅读:
    确定机器上装有哪些.net framework版本
    C#中的私有构造函数
    突破vs2008 RTM90天使用限制(转)
    圣诞晚会串词(转)
    C#中ref和out
    登缙云山随笔
    质量百分百
    自然界五种长有人脸像的怪异生物
    C# 静态构造函数
    NET环境下基于Ajax的MVC方案
  • 原文地址:https://www.cnblogs.com/shachengcc1/p/11333278.html
Copyright © 2011-2022 走看看