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
コメント