MicroPythonでマルチスレッド

ラズパイピコ

 MicroPythonで、スレッドを作成する方法をメモしておきます。
 Raspberry Pi Picoで動作確認したところ、作成できるスレッドは(メインスレッドを含み)2つだけのようですが、7セグメントLEDとセンサーを併用するような場合に便利かも。

広告

プログラム例

 早速ですがプログラム例です。メインスレッドの途中でサブスレッドを開始し、サブスレッドが終了するのを待って、プログラムを終了しています。

import _thread
import time

flag=True

#サブスレッド
def subthread():
    global flag
    print("subthread start")
    time.sleep(3)
    print("subthread end")
    flag=False
    _thread.exit()

print("mainthread start")

#サブスレッドを開始
_thread.start_new_thread(subthread,())

#メインスレッドで時間のかかる処理
time.sleep(1)

print("mainthread end")

#サブスレッドが終了してから合流
while flag:
    pass

上記プログラムの出力は以下の通りです。

mainthread start
subthread start
mainthread end
subthread end

コメント

タイトルとURLをコピーしました