• 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
  • 相关阅读:
    js语言结构小记(一)
    jquery插件:fancybox
    转载(深刻地了解到了js数组是引用类型)
    sqlite 页面结构分析
    有限状态机(FSM)的设计与实现(二)
    sqlite源码中的一个潜在Bug
    一种整数数据压缩存储的算法实现
    构建自己的内存池(一)
    sqlite Btree结构分析
    构建自己的内存池(二)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348351.html
Copyright © 2020-2023  润新知