python_スレッドの書き込み動作<1>

スレッド読み取りおよび書き込み操作

インポートスレッド、ランダム、キュー
Q = queue.Queue()
連想リスト = []
 DEF (shengchan)
      I における範囲(10 :)
        alist.append(random.randint( 1,20 ))
    q.put(連想リスト)
    印刷' 随机生成的十个数是%S '連想リスト)
 DEF xiaofei():
    オープンと(' xiabo.txt '' W + '、符号化= ' UTF8 ' :)Fとして
        f.write(STR(Q。 ()))を取得
        f.seek(0)
        C= f.read()
         プリント(C)
 もし __name__ == ' __main__ ' 
    T1 = threading.Thread(目標= shengchan)
    T2 = threading.Thread(目標= xiaofei)
    t1.start()
    t2.start()

プールの関連プロセス

マルチプロセッシングインポートプール   #のインポートモジュールプロセスプールの
インポート OS、時間、ランダム   導入窓システム、時間、乱数ブロック


#の印刷(はrandom.Random())
DEF:タスク(名前)   #の名前はパラメータであり、第1の分析機能機能の
    印刷' S%以下に(%のD)...実行中のタスク'%(名前、os.getpid()))  印刷プロセスプールのパスパラメータIと同様に、プロセス番号を 
    time.time =を開始します()  記録開始時刻 
    time.sleep(はrandom.Random()* 3)  数ランダム0-3間
    #1 印刷(はrandom.Random()* 3)整数%S%D%Fストリングフロート 
    端time.time =()   #1 の終了時刻
    印刷タスク%sの%0.2F実行時間%(名前は、(エンド-スタート)))  終わりには、それが時間の関数を実行した時間の長さを計算するために開始時刻を減算することによって得られる


IF  __name__ == __main__ 印刷' 親プロセスがD%である'%のos.getpid())  現在のプロセス番号ID取得 
    P =プール(4)  メソッドを使用して4つの工程プロセスプールを作成
    するための I における範囲(1 ,. 6):  へ4のタスク割り当て処理タスク数が1,2,3,4,5である 
        p.apply_async(=タスク、引数(I))   #1 apply_asyncは、非ブロッキング非同期です。#iは、パラメータを渡す、タスクの実行プロセスプール機能を作る
    #は意味:スケジュールに従ってシステムの切り替え処理を実行する準備ができて、終了した現在のプロセスを待ちません。
    印刷...終了するすべての子プロセスを待ち
    p.close()  は、あなたの後ろに参加しているため、プロセスプールを閉じる子供はもはや周りに実行されていることを確認してはならない
    time.sleep(2)
    #1 p.join()#をすべて作りますプロセスは、誰もが夕食のために別の家を待っているで終わる
    印刷アップ終了するすべての子プロセス

 

おすすめ

転載: www.cnblogs.com/zhichao123/p/11240842.html