6.26 py GIL

 在python中,多进程效率远大于多线程效率

python中存在GIL这个"线程锁",

关键地方可以使用c语言解决  GIL问题  然后可以提高cpu占用效率

异步的实现!!!

  • 同步调用就是你 喊 你朋友吃饭 ,你朋友在忙 ,你就一直在那等,等你朋友忙完了 ,你们一起去
  • 异步调用就是你 喊 你朋友吃饭 ,你朋友说知道了 ,待会忙完去找你 ,你就去做别的了。
  • from multiprocessing import Pool
    import time
    import os
    
    def test():
        print("---进程池中的进程---pid=%d,ppid=%d--"%(os.getpid(),os.getppid()))
        for i in range(3):
            print("----%d---"%i)
            time.sleep(1)
        return "hahah"
    
    def test2(args):
        print("---callback func--pid=%d"%os.getpid())
        print("---callback func--args=%s"%args)
    
    pool = Pool(3)
    pool.apply_async(func=test,callback=test2)
    
    time.sleep(5)
    
    print("----主进程-pid=%d----"%os.getpid())

     

posted @ 2018-06-26 14:16  我想喝杨枝甘露~  阅读(141)  评论(0编辑  收藏  举报