python_並行プログラミング - マルチスレッド

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に変更されました。

おすすめ

転載: www.cnblogs.com/wangdianchao/p/12109579.html