1.マルチスレッド
スレッディングインポートスレッド インポート時間 DEF FUNC(N-): (time.sleep。1 ) 印刷(N-) のための I におけるレンジ(10 ): T =スレッド(対象= FUNC、引数=(I)) #のレジスタの機能に子スレッド、およびパスパラメータの t.start() #のプロモーターのスレッド
結果:
2.マルチスレッドを起動する別の方法
スレッディングインポートスレッド インポート時間 クラスMyTread(スレッド): DEF __init__(セルフ、アルギニン): #はパラメータを受け取る 。スーパー()__init__ () self.arg = Argの DEF RUN(自己): #サブスレッドの内容を実行するため の時間を。 SLEEP(1 ) プリント(self.arg) 用 I における範囲(10 ): T = MyTread(I) #インスタンス化サブユニットスレッド渡されたパラメータ+ t.start() #のプロモータースレッド
結果:
3.チェックマルチスレッドプロセスかどうかは、同一の内部であります
スレッディングインポートスレッド インポート時間 インポートOS クラスMyTread(スレッド): DEF __init__(セルフ、アルギニン): #はパラメータを受け取る スーパー()。__init__ () self.arg = Argの DEF RUN(自己): #サブスレッドの内容を実行します time.sleep(1 ) プリント(self.arg、os.getpid()) のための I における範囲(10 ): T = MyTread(I) #インスタンス化サブユニットスレッド渡されたパラメータ+ t.start() #のプロモータースレッド 印刷(' メインスレッド:'、os.getpid())
結果: 同じプロセス番号、同じプロセス内のすべてのスレッドの説明を。
スレッド間で共有する4.データ
スレッドインポートスレッド インポート時間 GGG = 100 デフFUNC(N): time.sleep( 1 ) グローバルのGGG GGG = 0 印刷(' 子线程:' 、N) t_list = [] のための I における範囲(10 ): T =スレッド(ターゲット= FUNC、引数= (I)) t.start() t_list.append(T)のための私でt_list: i.join()印刷(" メインスレッド:"、GGG)
結果: グローバル変数のGGGは100だったかもしれないが、サブスレッドで0に変更されました。