並行スレッドでマルチタスクへ。パフォーマンスを向上させます。例を見てみましょう。
1つの #は/ usr / binに/ envをパイソン! 2 #- * -コーディング:UTF-8 - * - 3 #@Date:2020年3月2日夜9時10分39秒 4 #@Author:Flyinghappy([email protected] ) 5 #@link:https://www.cnblogs.com/flyinghappy/ 6 #@Version:$イド$ 7 インポート時間 8 インポートがスレッド 9つの インポート要求 10 インポートをurllib.request 11 DEF :runinfo(FUNC) 12 DEFインナー(* 引数): 13 プリント("开始访问--- ' + STR(引数[0])) 14 START_TIME = time.time() 15 結果= FUNC(* 引数) 16 STOP_TIME = time.time() 17 プリント(FUNC。__name__ + ' --- ---実行時間は:%S '%(stop_time- START_TIME)) 18 プリント(' 结束访问--- ' + STR(引数[0])) 19 リターン結果 20 リターンインナ 21 @runinfo 22 デフtaskfun(URL ): 23 HTML = urllib.request.urlopen(URL).read() 24 戻りHTML 25 @runinfo 26 DEF taskfun_outer(num_list): 27 URL = [ 28 ' http://www.sina.com.cn ' 、 29 ' のhttp: //www.cnr.cn ' 30 ' http://www.hao123.com ' 31 ' http://www.taobao.com ' 32 ' https://www.eastmoney.com ' 33 ] 34 thread_list = [] 35 用 I における範囲(LEN(URL)): 36 、T = threading.Thread(目標= taskfun、引数= (URL [I])) 37 thread_list.append(T) 38 のための項目でthread_list: 39 item.start() 40 のための項目でthread_list: 41 item.join() 42 43 DEF メイン(): 44 START_TIME = time.time() 45 num_list = [ ' taskfun_outer ' ] 46 taskfun_outer(num_list) 47 STOP_TIME =time.time() 48 プリント(' メイン---実行時間は:%S '%(stop_time- START_TIME)) 49 なら __name__ == ' __main__ ' : 50 メイン()
テスト結果:ルックは、タスクが複雑である時からのアクセスには、実装の観点からの注文もできます。