タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Pythonとpythonとthreadに関するheavenshellのブックマーク (2)

  • 第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp

    multiprocessingモジュール multiprocessingモジュールは、Python2系列では2.6以降、3系列では3.0以降に標準となったモジュールです。このモジュールはthreadingモジュールに似たAPIでプロセス間通信などの機能を提供します。このモジュールにより、GILの問題を回避することができ、複数のCPUCPUコアの性能を生かすことができます。また、このモジュールはローカルのみならず、リモートでのプロセス間通信も行うことが可能で、簡単に分散処理などを実装することができます。 まず、GIL(Global Interpreter Lock)とはPythonのインタプリタ上で一度に1つのスレッドだけが動作するよう保証するためのロックです。このロックによって、同時に同じメモリにアクセスするスレッドが存在しないことを保証します。 しかしながら、このロックによって、一度に

    第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp
  • スレッドをロックする

    threadingモジュールの Lock, RLock, Condition, Semaphore オブジェクトを使う # -*- coding: utf-8 -*- import threading import time LOCK = threading.Lock() def func(): for i in range(10): time.sleep(0.1) print i, print def lock_func(): # with文を使わない場合はacquireとreleaseメソッドを使う with LOCK: func() a = threading.Thread(target=func) b = threading.Thread(target=func) print "unlock" a.start() b.start() a.join() b.join() c = th

  • 1