zoukankan      html  css  js  c++  java
  • python 多线程和多进程基本写法

    #coding=utf-8
    
    def aJob(arg):
        """
        提供给多线程调用
        """
        import threading
        t = threading.current_thread()
        print str(arg)+"current thread name is:"+t.getName()+"
    "
    
    
    def multiThread():
        """
        多线程任务执行
        """
        from multiprocessing.dummy import Pool as ThreadPool
        from multiprocessing import cpu_count
        cnt_cpu = cpu_count()
        cpus = 10*cnt_cpu #线程池大小
        pool = ThreadPool(cpus)
        _lstParam = range(0,10000)
        pool.map(aJob,_lstParam)
        pool.close()
        pool.join()
        print "multi thread job done"
    
    ################以下是多进程############################    
    def runProc(name):
        """
        提供给多进程调用
        """
        import os
        print "child process %s(%s)"%(name,os.getpid())
        
    def multiProcess():
        """
        多进程
        """
        from multiprocessing import Pool
        from multiprocessing import cpu_count
        import os
        cpus = 1*cpu_count()
        lst_grp = range(0,100)
        p = Pool(cpus)
        for i in range(0,100):
            p.apply_async(runProc,args=(lst_grp[i],))
        p.close()
        p.join()
        print "multi process job done"
    
    def oneProcess():
        """
        启动一个进程
        """
        from multiprocessing import Process
        import os
        p = Process(target=runProc,args=("processName",))
        print "one process will start"
        p.start()
        p.join()
        print "one process end"
    
    if __name__ == "__main__":
        multiThread()#多线程
        multiProcess()#多进程
        oneProcess()#启动一个进程

    from multiprocessing.dummy import Pool as ThreadPool    表示引入多线程池

    from multiprocessing import cpu_count    表示计算所在计算机cpu数量

    from multiprocessing import Pool  引入多进程池

  • 相关阅读:
    centos7使用supermin制作centos7的docker镜像包
    Linux ip netns 命令
    ip命令讲解
    openstack API应用用
    在EF6.0中打印数据库操作日志
    EF记录统一添加创建,修改时间
    Inner Join and Left Join 与条件的结合
    字符串分割
    居中方案
    移动 前端 框架
  • 原文地址:https://www.cnblogs.com/815346909/p/5287836.html
Copyright © 2011-2022 走看看