zoukankan      html  css  js  c++  java
  • python 串行执行和并行执行

    #coding=utf-8
    
    import threading
    
    import time
    
    import cx_Oracle
    
    from pprint import pprint
    
    import csv
    
    print time.asctime()
    
    table_name = "dbtest.csv"
    
    f = open(table_name + ".csv", "w")
    
    conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
    cursor = conn.cursor()
    
    def query01():
    
        tname = threading.current_thread()
    
        aa=10
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
    def query02():
    
        tname = threading.current_thread()
    
        aa=20
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
    def query03():
    
        tname = threading.current_thread()
    
        aa=30
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
    def query04():
    
        tname = threading.current_thread()
    
        aa=40
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
    def query05():
    
        tname = threading.current_thread()
    
        aa=50
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
    def query06():
    
        tname = threading.current_thread()
    
        aa=60
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
    def query07():
    
        tname = threading.current_thread()
    
        aa=70
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        return row
    
        cursor.close()
    
    def query08():
    
        tname = threading.current_thread()
    
        aa=80
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
    def query09():
    
        tname = threading.current_thread()
    
        aa=90
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
    def query10():
    
        tname = threading.current_thread()
    
        aa=100
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close() 
     
    
    
    threads = []
    
    t1 = threading.Thread(target=query01, name='query01')
    
    threads.append(t1)
    
    t2 = threading.Thread(target=query02, name='query02')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query03, name='query03')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query04, name='query04')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query05, name='query05')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query06, name='query06')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query07, name='query07')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query08, name='query08')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query09, name='query09')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query10, name='query10')
    
    threads.append(t2) 
     
    
    
    if __name__ == '__main__':
    
        for t in threads:
    
            # t.setDaemon(True)
    
            t.start()
    
            # t.run()
    
            # t.start()
    
            # print '3333333'
    
            print threading.current_thread()
    
            # print t.is_alive()
    
            # print '3333333'
    
            t.join()
    
        print "all over "
    
        print time.asctime() 
     
    
    
    C:Python27python.exe C:/Users/tlcb/PycharmProjects/untitled/a2.py
    
    Wed Mar 28 11:08:19 2018
    
    <_MainThread(MainThread, started 18744)>
    
    [(10, '10boobook10', '10aaaaaaaaaaaa10', '10bbbbbbbbbbbbbbbbb10'), (10, '10sssssssss10', 'tlcb', 'tlcb'), (10, '10boobook10', '10aaaaaaaaaaaa10', '10bbbbbbbbbbbbbbbbb10')]
    
    <_MainThread(MainThread, started 18744)>
    
    [(20, '20boobook20', '20aaaaaaaaaaaa20', '20bbbbbbbbbbbbbbbbb20'), (20, '20boobook20', '20aaaaaaaaaaaa20', '20bbbbbbbbbbbbbbbbb20'), (20, '20boobook20', '20aaaaaaaaaaaa20', '20bbbbbbbbbbbbbbbbb20')]
    
    <_MainThread(MainThread, started 18744)>
    
    [(30, '30boobook30', '30aaaaaaaaaaaa30', '30bbbbbbbbbbbbbbbbb30'), (30, '30boobook30', '30aaaaaaaaaaaa30', '30bbbbbbbbbbbbbbbbb30'), (30, '30boobook30', '30aaaaaaaaaaaa30', '30bbbbbbbbbbbbbbbbb30')]
    
    <_MainThread(MainThread, started 18744)>
    
    [(40, '40boobook40', '40aaaaaaaaaaaa40', '40bbbbbbbbbbbbbbbbb40'), (40, '40boobook40', '40aaaaaaaaaaaa40', '40bbbbbbbbbbbbbbbbb40'), (40, '40boobook40', '40aaaaaaaaaaaa40', '40bbbbbbbbbbbbbbbbb40')]
    
    <_MainThread(MainThread, started 18744)>
    
    [(50, '50boobook50', '50aaaaaaaaaaaa50', '50bbbbbbbbbbbbbbbbb50'), (50, '50boobook50', '50aaaaaaaaaaaa50', '50bbbbbbbbbbbbbbbbb50'), (50, '50boobook50', '50aaaaaaaaaaaa50', '50bbbbbbbbbbbbbbbbb50')]
    
    <_MainThread(MainThread, started 18744)>
    
    [(60, '60boobook60', '60aaaaaaaaaaaa60', '60bbbbbbbbbbbbbbbbb60'), (60, '60boobook60', '60aaaaaaaaaaaa60', '60bbbbbbbbbbbbbbbbb60'), (60, '60boobook60', '60aaaaaaaaaaaa60', '60bbbbbbbbbbbbbbbbb60')]
    
    <_MainThread(MainThread, started 18744)>
    
    <_MainThread(MainThread, started 18744)>
    
    [(80, '80boobook80', '80aaaaaaaaaaaa80', '80bbbbbbbbbbbbbbbbb80'), (80, '80boobook80', '80aaaaaaaaaaaa80', '80bbbbbbbbbbbbbbbbb80'), (80, '80boobook80', '80aaaaaaaaaaaa80', '80bbbbbbbbbbbbbbbbb80')]
    
    <_MainThread(MainThread, started 18744)>
    
    [(90, '90boobook90', '90aaaaaaaaaaaa90', '90bbbbbbbbbbbbbbbbb90'), (90, '90boobook90', '90aaaaaaaaaaaa90', '90bbbbbbbbbbbbbbbbb90'), (90, '90boobook90', '90aaaaaaaaaaaa90', '90bbbbbbbbbbbbbbbbb90')]
    
    <_MainThread(MainThread, started 18744)>
    
    [(100, '100boobook100', '100aaaaaaaaaaaa100', '100bbbbbbbbbbbbbbbbb100'), (100, '100boobook100', '100aaaaaaaaaaaa100', '100bbbbbbbbbbbbbbbbb100'), (100, '100boobook100', '100aaaaaaaaaaaa100', '100bbbbbbbbbbbbbbbbb100')]
    
    all over 
    
    Wed Mar 28 11:08:34 2018 
    
    
    Process finished with exit code 0 
     
    
    
    这个时候是串行 花费了15秒 
     
     
     
    
    
    多线程跑:
    
    #coding=utf-8
    
    import threading
    
    import time
    
    import cx_Oracle
    
    from pprint import pprint
    
    import csv
    
    print time.asctime()
    
    table_name = "dbtest.csv"
    
    f = open(table_name + ".csv", "w") 
    
    
    def query01():
    
        tname = threading.current_thread()
    
        aa=10
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query02():
    
        tname = threading.current_thread()
    
        aa=20
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query03():
    
        tname = threading.current_thread()
    
        aa=30
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query04():
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        tname = threading.current_thread()
    
        aa=40
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query05():
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        tname = threading.current_thread()
    
        aa=50
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query06():
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        tname = threading.current_thread()
    
        aa=60
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query07():
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        tname = threading.current_thread()
    
        aa=70
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query08():
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        tname = threading.current_thread()
    
        aa=80
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query09():
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        tname = threading.current_thread()
    
        aa=90
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close()
    
    def query10():
    
        conn = cx_Oracle.connect('tlcbuser/tlcbuser@20.5.101.31/tlyy')
    
        cursor = conn.cursor()
    
        tname = threading.current_thread()
    
        aa=100
    
        # cursor.execute("SELECT *  FROM TEST100 WHERE ID = %s", [aa])
    
        cursor.prepare("""SELECT *  FROM TEST100 WHERE ID=:id""")
    
        cursor.execute(None,{'id':aa})
    
        row = cursor.fetchall()
    
        print row
    
        return row
    
        cursor.close()
    
        conn.close() 
     
    
    
    threads = []
    
    t1 = threading.Thread(target=query01, name='query01')
    
    threads.append(t1)
    
    t2 = threading.Thread(target=query02, name='query02')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query03, name='query03')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query04, name='query04')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query05, name='query05')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query06, name='query06')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query07, name='query07')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query08, name='query08')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query09, name='query09')
    
    threads.append(t2)
    
    t2 = threading.Thread(target=query10, name='query10')
    
    threads.append(t2) 
     
    
    
    if __name__ == '__main__':
    
        for t in threads:
    
            # t.setDaemon(True)
    
            t.start()
    
            # t.run()
    
            # t.start()
    
            # print '3333333'
    
            print threading.current_thread()
    
            # print t.is_alive()
    
            # print '3333333'
    
        t.join()
    
        print "all over "
    
        print time.asctime() 
     
     
     
    
    
    C:Python27python.exe C:/Users/tlcb/PycharmProjects/untitled/a2.py
    
    Wed Mar 28 11:12:47 2018
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    <_MainThread(MainThread, started 22500)>
    
    [(40, '40boobook40', '40aaaaaaaaaaaa40', '40bbbbbbbbbbbbbbbbb40'), (40, '40boobook40', '40aaaaaaaaaaaa40', '40bbbbbbbbbbbbbbbbb40'), (40, '40boobook40', '40aaaaaaaaaaaa40', '40bbbbbbbbbbbbbbbbb40')]
    
    [(60, '60boobook60', '60aaaaaaaaaaaa60', '60bbbbbbbbbbbbbbbbb60'), (60, '60boobook60', '60aaaaaaaaaaaa60', '60bbbbbbbbbbbbbbbbb60'), (60, '60boobook60', '60aaaaaaaaaaaa60', '60bbbbbbbbbbbbbbbbb60')]
    
    [(80, '80boobook80', '80aaaaaaaaaaaa80', '80bbbbbbbbbbbbbbbbb80'), (80, '80boobook80', '80aaaaaaaaaaaa80', '80bbbbbbbbbbbbbbbbb80'), (80, '80boobook80', '80aaaaaaaaaaaa80', '80bbbbbbbbbbbbbbbbb80')]
    
    [(50, '50boobook50', '50aaaaaaaaaaaa50', '50bbbbbbbbbbbbbbbbb50'), (50, '50boobook50', '50aaaaaaaaaaaa50', '50bbbbbbbbbbbbbbbbb50'), (50, '50boobook50', '50aaaaaaaaaaaa50', '50bbbbbbbbbbbbbbbbb50')]
    
    [(10, '10boobook10', '10aaaaaaaaaaaa10', '10bbbbbbbbbbbbbbbbb10'), (10, '10sssssssss10', 'tlcb', 'tlcb'), (10, '10boobook10', '10aaaaaaaaaaaa10', '10bbbbbbbbbbbbbbbbb10')]
    
    [(20, '20boobook20', '20aaaaaaaaaaaa20', '20bbbbbbbbbbbbbbbbb20'), (20, '20boobook20', '20aaaaaaaaaaaa20', '20bbbbbbbbbbbbbbbbb20'), (20, '20boobook20', '20aaaaaaaaaaaa20', '20bbbbbbbbbbbbbbbbb20')]
    
    [(30, '30boobook30', '30aaaaaaaaaaaa30', '30bbbbbbbbbbbbbbbbb30'), (30, '30boobook30', '30aaaaaaaaaaaa30', '30bbbbbbbbbbbbbbbbb30'), (30, '30boobook30', '30aaaaaaaaaaaa30', '30bbbbbbbbbbbbbbbbb30')]
    
    [(100, '100boobook100', '100aaaaaaaaaaaa100', '100bbbbbbbbbbbbbbbbb100'), (100, '100boobook100', '100aaaaaaaaaaaa100', '100bbbbbbbbbbbbbbbbb100'), (100, '100boobook100', '100aaaaaaaaaaaa100', '100bbbbbbbbbbbbbbbbb100')]
    
    [(90, '90boobook90', '90aaaaaaaaaaaa90', '90bbbbbbbbbbbbbbbbb90'), (90, '90boobook90', '90aaaaaaaaaaaa90', '90bbbbbbbbbbbbbbbbb90'), (90, '90boobook90', '90aaaaaaaaaaaa90', '90bbbbbbbbbbbbbbbbb90')]
    
    all over 
    
    Wed Mar 28 11:12:55 2018 
    
    
    Process finished with exit code 0 
     
    
    
    此时花了 8秒
    

  • 相关阅读:
    从B树、B+树、B*树谈到R 树
    平衡二叉树、B树、B+树、B*树
    数据库事务和四种隔离级别
    python 安装surprise库解决 c++tools错误问题
    python的sorted函数
    爬虫出现gbk错误
    Windows下Python安装numpy+mkl,Scipy和statsmodels
    Flask--框架及路由
    flask常见面试题
    RE正则表达式
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349252.html
Copyright © 2011-2022 走看看