python 多線程2

[root@yyjk ~/sbin/socket]#cat t2.py
import concurrent.futures
import requests
import threading
import time
import socket

def sendxml(package):
      #.decode('utf-8').encode('gbk')
     print(package)
     host='10.2.229.105'
     port=39037
     print(package)
     time.sleep(5)

def parallel_all(sites):
    with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
        to_do=[]
        for site in sites:
          future = executor.submit(sendxml, site)
          to_do.append(future)
    for future in concurrent.futures.as_completed(to_do):
            future.result()
def main():
    sites = [
    '<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>16</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_ID>101060</CONSUMER_ID> <CONSUMER_SEQ_NO>201911131504570045557</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>153821</TRAN_TIMESTAMP> <TRAN_DATE>20191119</TRAN_DATE> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2333333</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.210:8013/plate/plate/6.jpg<;/URL_ADDRESS> <GLOBAL_TYPE>2</GLOBAL_TYPE> <NEED_WARN_FLAG>ture</NEED_WARN_FLAG> </BODY> </SERVICE>',
    '<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>18</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333331</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>171021</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2019111315045700333331</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD> </LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/xsz.jpg<;/URL_ADDRESS> <GLOBAL_TYPE>0</GLOBAL_TYPE> </BODY> </SERVICE>',
    '<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>18</SERVICE_SCENE> <SERVICE_CODE>13003000028</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333336</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BUSS_SEQ_NO>2019111315045700333336</BUSS_SEQ_NO> <BRANCH_ID>001</BRANCH_ID> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/zzjg.jpg<;/URL_ADDRESS> </BODY> </SERVICE>',
  '<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>19</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333333</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BUSS_SEQ_NO>2019111315045700333333</BUSS_SEQ_NO> <BRANCH_ID>001</BRANCH_ID> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <GLOBAL_TYPE>General</GLOBAL_TYPE> <URL_ADDRESS>http://20.2.26.21:8013/plate/jhz.jpg<;/URL_ADDRESS> </BODY> </SERVICE>',
    '<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>17</SERVICE_SCENE> <SERVICE_CODE>13003000028</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333332</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2019111315045700333332</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/yyzz.jpg<;/URL_ADDRESS> </BODY> </SERVICE>']
    start_time = time.perf_counter()
    parallel_all(sites)
    end_time = time.perf_counter()
    print('Download {} sites in {} seconds'.format(len(sites), end_time - start_time))

if __name__ == '__main__':
    main()
[root@yyjk ~/sbin/socket]#time python3.7 t2.py
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>16</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_ID>101060</CONSUMER_ID> <CONSUMER_SEQ_NO>201911131504570045557</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>153821</TRAN_TIMESTAMP> <TRAN_DATE>20191119</TRAN_DATE> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2333333</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.210:8013/plate/plate/6.jpg<;/URL_ADDRESS> <GLOBAL_TYPE>2</GLOBAL_TYPE> <NEED_WARN_FLAG>ture</NEED_WARN_FLAG> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>16</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_ID>101060</CONSUMER_ID> <CONSUMER_SEQ_NO>201911131504570045557</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>153821</TRAN_TIMESTAMP> <TRAN_DATE>20191119</TRAN_DATE> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2333333</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.210:8013/plate/plate/6.jpg<;/URL_ADDRESS> <GLOBAL_TYPE>2</GLOBAL_TYPE> <NEED_WARN_FLAG>ture</NEED_WARN_FLAG> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>18</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333331</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>171021</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2019111315045700333331</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD> </LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/xsz.jpg<;/URL_ADDRESS> <GLOBAL_TYPE>0</GLOBAL_TYPE> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>18</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333331</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>171021</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2019111315045700333331</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD> </LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/xsz.jpg<;/URL_ADDRESS> <GLOBAL_TYPE>0</GLOBAL_TYPE> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>18</SERVICE_SCENE> <SERVICE_CODE>13003000028</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333336</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BUSS_SEQ_NO>2019111315045700333336</BUSS_SEQ_NO> <BRANCH_ID>001</BRANCH_ID> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/zzjg.jpg<;/URL_ADDRESS> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>18</SERVICE_SCENE> <SERVICE_CODE>13003000028</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333336</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BUSS_SEQ_NO>2019111315045700333336</BUSS_SEQ_NO> <BRANCH_ID>001</BRANCH_ID> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/zzjg.jpg<;/URL_ADDRESS> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>19</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333333</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BUSS_SEQ_NO>2019111315045700333333</BUSS_SEQ_NO> <BRANCH_ID>001</BRANCH_ID> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <GLOBAL_TYPE>General</GLOBAL_TYPE> <URL_ADDRESS>http://20.2.26.21:8013/plate/jhz.jpg<;/URL_ADDRESS> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>19</SERVICE_SCENE> <SERVICE_CODE>13003000026</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333333</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BUSS_SEQ_NO>2019111315045700333333</BUSS_SEQ_NO> <BRANCH_ID>001</BRANCH_ID> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <GLOBAL_TYPE>General</GLOBAL_TYPE> <URL_ADDRESS>http://20.2.26.21:8013/plate/jhz.jpg<;/URL_ADDRESS> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>17</SERVICE_SCENE> <SERVICE_CODE>13003000028</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333332</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2019111315045700333332</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/yyzz.jpg<;/URL_ADDRESS> </BODY> </SERVICE>
<?xml version="1.0" encoding="UTF-8"?> <SERVICE> <SYS_HEAD> <SERVICE_SCENE>17</SERVICE_SCENE> <SERVICE_CODE>13003000028</SERVICE_CODE> <CONSUMER_SEQ_NO>2019111315045700333332</CONSUMER_SEQ_NO> <TRAN_TIMESTAMP>172221</TRAN_TIMESTAMP> <TRAN_DATE>20200603</TRAN_DATE> <CONSUMER_ID>101060</CONSUMER_ID> </SYS_HEAD> <APP_HEAD> <BRANCH_ID>001</BRANCH_ID> <BUSS_SEQ_NO>2019111315045700333332</BUSS_SEQ_NO> </APP_HEAD> <LOCAL_HEAD></LOCAL_HEAD> <BODY> <URL_ADDRESS>http://20.2.26.21:8013/plate/yyzz.jpg<;/URL_ADDRESS> </BODY> </SERVICE>
Download 5 sites in 5.011991955339909 seconds

real 0m5.184s
user 0m0.150s
sys 0m0.021s

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章