zoukankan      html  css  js  c++  java
  • python使用多进程提高运行效率

    单进程的执行结果

    如图:

     测试代码:

    from knight_util.util import KnightUtil
    import time
    m1 = KnightUtil().mysql_()
    
    
    def tk_(user_id):
        sql = '''SELECT token, client_code FROM sso.user_session WHERE user_id={} AND status='ENABLED';'''.format(user_id)
        m1.execute(sql)
        platform_dict = {}
        for data in m1.fetchall():
            platform_dict.update({data[1]: "{}".format(data[0])})
        print(platform_dict)
    
    
    if __name__ == '__main__':
        start_time = time.time()
        for i in range(100):
            tk_(2397)
        stop_time = time.time()
        print('代码运行时间为:{}'.format(stop_time - start_time))

    多进程的执行结果

    如图:

     测试代码:

    from knight_util.util import KnightUtil
    from multiprocessing import Pool
    import time
    m1 = KnightUtil().mysql_()
    
    
    def tk_(user_id):
        sql = '''SELECT token, client_code FROM sso.user_session WHERE user_id={} AND status='ENABLED';'''.format(user_id)
        m1.execute(sql)
        platform_dict = {}
        for data in m1.fetchall():
            platform_dict.update({data[1]: "{}".format(data[0])})
        print(platform_dict)
    
    
    if __name__ == '__main__':
        start_time = time.time()
        pool = Pool(10)
        for i in range(100):
            pool.apply_async(tk_, args=(2397,))
        pool.close()
        pool.join()
        stop_time = time.time()
        print('代码运行时间为:{}'.format(stop_time - start_time))

  • 相关阅读:
    Hashcode的作用
    java 强弱软虚 四种引用,以及用到的场景
    Object类有哪些公用方法?
    equals和==的区别
    switch能否用string做参数
    Java九种基本数据类型,以及他们的封装类
    Singleton(Java)
    快速排序和二分查找(Javascript)
    快速排序和二分查找(Go)
    ubuntn 安装 MySQL
  • 原文地址:https://www.cnblogs.com/xiamaojjie/p/14240300.html
Copyright © 2011-2022 走看看