相思资源网 Design By www.200059.com
如下所示:
#coding=utf-8
import threading
import time
import cx_Oracle
from pprint import pprint
import csv
table_name = "dbtest.csv"
f = open(table_name + ".csv", "w")
def exp01():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp01' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp02():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp02' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp03():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp03' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp04():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp04' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp05():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp05' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp06():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp06' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp07():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp07' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp08():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp08' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp09():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp09' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp10():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp10' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp11():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp11' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp12():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp12' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp13():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp13' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp14():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp14' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
threads = []
t1 = threading.Thread(target=exp01,name='exp01')
threads.append(t1)
t2 = threading.Thread(target=exp02,name='exp02')
threads.append(t2)
t2 = threading.Thread(target=exp03,name='exp03')
threads.append(t2)
t2 = threading.Thread(target=exp04,name='exp04')
threads.append(t2)
t2 = threading.Thread(target=exp05,name='exp05')
threads.append(t2)
t2 = threading.Thread(target=exp06,name='exp06')
threads.append(t2)
t2 = threading.Thread(target=exp07,name='exp07')
threads.append(t2)
t2 = threading.Thread(target=exp08,name='exp08')
threads.append(t2)
t2 = threading.Thread(target=exp09,name='exp09')
threads.append(t2)
t2 = threading.Thread(target=exp10,name='exp10')
threads.append(t2)
t2 = threading.Thread(target=exp11,name='exp11')
threads.append(t2)
t2 = threading.Thread(target=exp12,name='exp12')
threads.append(t2)
t2 = threading.Thread(target=exp13,name='exp13')
threads.append(t2)
t2 = threading.Thread(target=exp14,name='exp14')
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 "
输出:
C:\Python27\python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/thread/p7.py
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<_MainThread(MainThread, started 156528)>
<Thread(exp01, started 155004)>
select 'exp01' from dual
<Thread(exp12, started 155744)>
select 'exp12' from dual<Thread(exp02, started 155000)>
select 'exp02' from dual
<Thread(exp08, started 155728)>
select 'exp08' from dual
<Thread(exp06, started 155752)>
select 'exp06' from dual
<Thread(exp03, started 154816)>
select 'exp03' from dual
<Thread(exp09, started 156544)>
select 'exp09' from dual
<Thread(exp11, started 155760)>
select 'exp11' from dual
<Thread(exp04, started 154112)>
select 'exp04' from dual
<Thread(exp10, started 155764)><Thread(exp05, started 154640)>
select 'exp10' from dualselect 'exp05' from dual
<Thread(exp07, started 155188)>
select 'exp07' from dual
<Thread(exp13, started 154600)>
select 'exp13' from dual
<Thread(exp14, started 155804)>
select 'exp14' from dual
SID SERIAL# USERNAME PREV_SQL_ID
1 9 1179 TEST 01tjnxmmurdw7
2 10 75 TEST g5ph474nsjvwv
3 12 907 TEST 87mdhpgj9k5tz
4 419 1303 TEST 4g8r4bkf8aq3n
5 420 655 TEST 1rx9mjdvp1udx
6 421 1955 TEST 928r7khrtn4jd
7 424 51 TEST d6sgjjwpm74qz
8 839 3 TEST a1hg7hrwgrdqk
9 840 43 TEST fqjuj4qp5hmf0
10 841 111 TEST 2jzx0889h3k5n
11 1252 145 TEST awtzfbx7dhn88
12 1253 7 TEST 55tzs9gdmcd4p
13 1254 9 TEST 4v01fvb5sj7k4
14 1255 265 TEST 39bcsfjr5y62b
此时是并发执行
改变join的位置:
#coding=utf-8
import threading
import time
import cx_Oracle
from pprint import pprint
import csv
table_name = "dbtest.csv"
f = open(table_name + ".csv", "w")
def exp01():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp01' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp02():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp02' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp03():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp03' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp04():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp04' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp05():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp05' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp06():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp06' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp07():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp07' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp08():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp08' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp09():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp09' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp10():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp10' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp11():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp11' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp12():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp12' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp13():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp13' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
def exp14():
conn = cx_Oracle.connect('test/test@192.168.137.2/serv')
cursor = conn.cursor()
owner = "system"
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)
tname = threading.current_thread()
print tname
exportOracleSql = "select 'exp14' from dual"
print exportOracleSql
x = cursor.execute(exportOracleSql)
time.sleep(1000)
cursor.close()
conn.close()
threads = []
t1 = threading.Thread(target=exp01,name='exp01')
threads.append(t1)
t2 = threading.Thread(target=exp02,name='exp02')
threads.append(t2)
t2 = threading.Thread(target=exp03,name='exp03')
threads.append(t2)
t2 = threading.Thread(target=exp04,name='exp04')
threads.append(t2)
t2 = threading.Thread(target=exp05,name='exp05')
threads.append(t2)
t2 = threading.Thread(target=exp06,name='exp06')
threads.append(t2)
t2 = threading.Thread(target=exp07,name='exp07')
threads.append(t2)
t2 = threading.Thread(target=exp08,name='exp08')
threads.append(t2)
t2 = threading.Thread(target=exp09,name='exp09')
threads.append(t2)
t2 = threading.Thread(target=exp10,name='exp10')
threads.append(t2)
t2 = threading.Thread(target=exp11,name='exp11')
threads.append(t2)
t2 = threading.Thread(target=exp12,name='exp12')
threads.append(t2)
t2 = threading.Thread(target=exp13,name='exp13')
threads.append(t2)
t2 = threading.Thread(target=exp14,name='exp14')
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 "
C:\Python27\python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/thread/p7.py
<_MainThread(MainThread, started 154776)>
<Thread(exp01, started 156240)>
select 'exp01' from dual
此时变成串行,数据库连接也只有一个:
SID SERIAL# USERNAME PREV_SQL_ID
1 421 1957 TEST 928r7khrtn4jd
以上这篇python 多线程串行和并行的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
python,多线程,串行,并行
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无python 多线程串行和并行的实例的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。