Pythonは非常に人気なプログラミング言語で、その中でもthreadingモジュールのLockメソッドは重要な機能の一つです。この記事では、PythonでのLockの使い方について詳しく解説します。

Lockとは

Lockは、Pythonのthreadingモジュールで提供されているメソッドで、スレッドの制御を行うためのものです。Lockメソッドを利用すると、「lock.acquire ()」から「lock.release ()」までの間の処理が他のスレッドに邪魔されなくなります。

Lockの使い方

以下に、PythonでのLockの基本的な使い方を示します。

import threading
import time

def process1(lock):
    print('ーー処理1が開始')
    lock.acquire()  # スレッドのロックが開始。他のスレッドはreleaseされるまで処理はできない。
    time.sleep(3)  # 処理を再現
    lock.release()  # スレッドのロックが終了。他のスレッドも処理が可能。
    print('ーー処理1が終了')

def process2(lock):
    print('ーー処理2が開始')
    with lock:  # スレッドのロックが開始。他のスレッドはwithステートメントを抜けるまで処理できない。
        time.sleep(3)  # 処理を再現
    print('ーー処理2が終了')

if __name__ == '__main__':
    lock = threading.Lock()  # スレッドを行うインスタンスの作成
    p1 = threading.Thread(target=process1, args=(lock,))
    p2 = threading.Thread(target=process2, args=(lock,))
    p1.start()
    p2.start()

このコードでは、process1process2でスレッドの処理を再現しています。process1では「lock.acquire ()」から「lock.release ()」を利用したLockの例、process2ではwithステートメントを利用したLockの例です。

以上がPythonでのLockの基本的な使い方です。詳細な使い方やその他の情報については、Pythonの公式ドキュメントを参照してください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です