#マルチスレッドの例
#1例は、ねじ切り
時間インポートSLEEP、CTIMEから
DEFタスク1(タスク名)
:範囲でI(2)のための
印刷( "%S Sが実行され%" %(TASKNAME、CTIME()))
SLEEP (2)
DEF Task2の(タスク名):
範囲でI(2)の場合:
印刷( "%S Sが実行される%" %(TASKNAME、CTIME()))
SLEEP(1)
IF __name__ == '__main__':
タスク1( "タスクA")
Task2の( "タスクII")
#例2
時間インポートSLEEP、CTIMEのから
DEFタスク(タスク名、時刻):
範囲(2)におけるIについて:
印刷(% "%S%Sを実行する"(TASKNAME 、CTIME()))
SLEEP(時間)
IF __name__ == '__main__':
タスク( "タスク"、2)
タスク( "タスクII"、1)
の場合__name__ == '__main__':
タスク(「タスク1」、2)
タスク(「タスクII」、1)
#例3は、スレッドを導入する
時間インポートSLEEP、CTIMEから
インポートスレッディング#組み込まスレッドモジュール
DEFタスク(タスク名、タイム):
Iの範囲は(2) :
印刷( "%S Sが実行され%" %(TASKNAME、CTIME()))
SLEEP(時間)
スレッドにすべてのスレッドを組み立て#
スレッド= []
#メモリタスク配置スレッド
T1 = threading.Thread(ターゲット=タスク、引数=( "タスク"、2))
T2 = threading.Threadの(目標=タスク、引数=( "タスクII" ,. 1))
threads.append(T1)
threads.append(T2)
__name__ IF = = '__main__':
#スレッド開始スタート()
Iためのスレッドで:
i.start()
#終了メインスレッド
プリント( "メインスレッド終了S%" %のctime())
#4。マルチスレッド-デーモンスレッドが(参加)
タイム輸入SLEEP、CTIMEから
輸入スレッド#組み込ま糸モジュール
DEFタスク(タスク名、時刻):
範囲内のI(2):
印刷(%(TASKNAME、CTIME()) "%S%S実行")
SLEEP(時間)
アセンブリ#すべてのスレッドをスレッド
のスレッド= []
#メモリタスク配置スレッド
T1 = threading.Thread(目標=タスク、引数=( " タスク"、2))
threading.Thread(目標=タスク、引数=(「タスクのT2 = 2」、1))
threads.append(T1)
threads.append(T2)
__name__は== '__main__'の場合:
#開始スレッド開始()
:スレッドで私のため
i.start()
#デーモンが(参加)
私のために内のスレッド:
i.join()
メインスレッド位端
プリント(%のCTIME「メインスレッドS%の終わり」())
#は、最適化されたスレッドのスレッドを生成するために、実施例5のバッチを作成する
CTIME、時間インポート眠りから
輸入スレッド#導入スレッドモジュール
DEFタスク(タスク名、時刻):
私のための範囲(2)中:
印刷( "実行されている%S%S" %(TASKNAME、CTIME()))
SLEEP(時間)
すべてのタスクを格納するために定義された#リスト
のタスク= [(「タスク1」、2)、(「タスクII」、1)]
のスレッドに組み込ま#すべてのスレッド
のスレッド= []
#バッチ生成スレッド
DEFのCreateThread():
タスク名、時間のタスクに:
threading.Thread(目標=タスク、引数=(タスク名、時間))のT1 =
threads.append(T1)
IF __name__ == '__main__':
#バッチ生成スレッド
のCreateThread()
#開始スレッド開始()
Iためのスレッドで:
i.start()
#デーモンインクルードは()参加
のスレッドで私のために:
i.join()
#は、メインスレッドを終了
プリント(「終了メインスレッド%S」%のctime())
タスクおよびユーザ入力、スレッドのバッチ生産の時間に応じ#例6
時間インポートSLEEP、CTIMEから
インポートスレッディング#組み込まスレッドモジュール
DEFタスク(タスク名、時刻):
iについてレンジ(2)中:
印刷(%(TASKNAME、CTIME()) "%S%S実行されている")
SLEEPを(タイム)
#は、すべてのタスクの保存リストを定義
#をタスク= [( "ジョブ1"、2)、( 「タスクII」,. 1)]
タスク= []
タスク名とユーザ入力の持続時間を受信#は、タスクに追加された
DEF(タスク名、時刻):rectask
tasks.append((タスク名、時間))
#すべてのスレッドがスレッドに組み立て
スレッドは= []
#バッチ生成スレッド作成
DEFのCreateThreadを():
タスクでタスク名、時間:
T1 = threading.Thread(目標=タスク、引数の=(タスク名、タイム))
threads.append(T1)
IF == __name__ '__main__':
NUMS = INT(入力( 'あなたが実行するタスクの数を入力してください:'))
レンジ(NUMS)で私のために:#range命令(2)0、1
TASKNAME INPUTは=((% "タスク%sのの名前を入力してください"私は+ 1))
時間= INT(入力(%(私は+ 1「タスク実行の長%のS入力」)))
#タスクと時間が組み立てられたタスクリスト
rectask(タスク名、時間)
#バッチ生成スレッドを
CreateThread()
#開始スレッド開始()
私のスレッドでため:
i.start()
#デーモン)(参加
スレッドで私のために:
i.join()
メインスレッドの#エンド
%のctimeの印刷(「メインスレッド%sのの終わり」 ())
操作の多くのスレッドのPythonの基礎
おすすめ
転載: www.cnblogs.com/Teachertao/p/11707845.html
おすすめ
ランキング