zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    matlab播放音乐
    virtualbox安装增强功能时【未能加载虚拟光盘】
    VirtualBox piix4_smbus Error
    VirtualBox虚拟机运行Ubuntu如何不卡
    微信支付注意事项
    ListView实现RadioButton的单选效果
    他山之石____Java 线程池的原理与实现
    线程池的使用____银行业务调度系统
    基础加强____【动态代理 & AOP】【实现类Spring的AOP框架】
    基础加强____【Java类加载器 & "委托机制"】
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348351.html
Copyright © 2011-2022 走看看