まず、生産者 - 消費者モデル
インポートマルチプロセッシング から時間インポートctimeの DEFは、消費者(input_q): 印刷(" 消費者の中へ:" 、CTIME()) しばらく真: #処理項目 項目 = input_q.get() 印刷(" プル"、アイテム、" QのOUT ")#有益な仕事にここに置き換える input_q.task_done() #は、タスクが完了した信号 を印刷(「消費者のアウト:」、CTIME()) #q.joinは())(4 task_doneを集め信号の後に、メインプロセスが開始するため、この文は実行されません DEFの:プロデューサー(シーケンス、output_q) 印刷(「:プロデューサーの中への」、CTIME()) のための項目でシーケンス: output_qを.put(項目) を印刷(" PUT "、アイテム、" into_q " ) を印刷(" プロデューサーのアウト:" 、CTIME()) #確立する処理 のIF __name__ == " __main__ " : Q = multiprocessing.JoinableQueue() #の実行消費者のプロセス cons_p multiprocessing.Process(対象=消費者、引数= = (Q、)) cons_p.daemon = 真 cons_p.start() #1 つ以上のアイテムの生産は、シーケンスは、消費者に送信される項目の順序を表し #実際には、この出力発生器は、によって、または他の方法で製造することができる 配列 = [1,2,3,4 ] プロデューサ(シーケンス、Q) #を処理するすべてのアイテム待ち )q.join(
第二に、コルーチン
参考文献1.コルーチン:
http://python.jobble.com/86481/
http://python.jobble.com/87310/
https://segmentfault.com/a/1190000009781688
2.参照のイテレータ
反復可能な(反復可能):ループ変数の中に直接的な役割
イテレータ(イテレータ):ループのために行動することができるだけでなく、それは次の呼び出し可能
3.関係:リストは次の呼び出しすることはできませんので、リストには、イテレータの典型的な反復可能ではなく、
4.基準:でisinstanceによって変数が一例であるかどうかを判断するには、反復するかどうかを決定することができます
コレクションインポートのIterable、イテレータ L [I =のための I における範囲(5)] #することができ、反復 印刷(でisinstance(L、反復処理可能))位反復か否かを判断する プリント(でisinstance(L、イテレータ))位か否かを判断しますイテレータ s_iter = ITER(L) #それイテレータに変換反復することができ、印刷(でisinstance(s_iter、反復可能)) #が反復か否かを判断するプリント(でisinstance(s_iter、反復子)) #はイテレータか否かを判断します
第三に、ソース
d26_2_consumer_and_producer_model.py
d27_1_iterable_and_iterator_and_their_transform.py
https://github.com/ruigege66/Python_learning/blob/master/d26_2_consumer_and_producer_model.py
https://github.com/ruigege66/Python_learning/blob/master/d27_1_iterable_and_iterator_and_their_transform.py
2.CSDNます。https://blog.csdn.net/weixin_44630050(西6月6月ムードが知らない - ルイを)
3.パークブログます。https://www.cnblogs.com/ruigege0000/
4.マイクロチャネル公共数に焦点を歓迎:フーリエ変換は、ビッグデータの学習教材を取得するには、唯一の交流を学ぶために、舞台裏の返信「贈り物」をパブリック個人番号を変換します