====== MicroPython: Esp32CheckThreading ======
[[http://www.openhardsoftware.de/ | Open Hard- & Software]]
[
[[http://www.openhardsoftware.de/dokuwiki | DokuWiki]]
[[http://www.openhardsoftware.de/websites | WebSites]]
[[http://www.openhardsoftware.de/mediawiki | MediaWiki]]
[[http://www.openhardsoftware.de/nextcloud | NextCloud]]
]
===== Benutzung =====
Beispiel für die Einbindung der MicroPython-Library **Thread.py** :
#
import _thread
#
class CThread():
#
def __init__(self, threadid, onexecute):
self.ID = threadid
self.OnExecute = onexecute
self.IsBusy = False
return
#
def Start(self):
self.IsBusy = True
_thread.start_new_thread(self.OnExecute, [self])
return
#
def Abort(self):
self.IsBusy = False
return
#
Wichtig: Die Library **Thread.py** muss im FileSystem des MicroControllers vorhanden sein!
Aufrufendes Programm **Esp32CheckThreading.py** :
#
import time
#
import Thread
#
#-----------------------------------------
def CBOnExecute(thread):
print('CBOnExecute[{}]: begin'.format(thread.ID))
I = 0
while (thread.IsBusy):
I += 1
print("CBOnExecute[{}]: Hello({})!".format(thread.ID, I))
time.sleep(1)
print('CBOnExecute[{}]: end'.format(thread.ID))
#
#-----------------------------------------
if ('__main__' == __name__):
print('*** Esp32CheckThreading: begin')
T = Thread.CThread('T1', CBOnExecute)
T.Start()
time.sleep(5)
T.Abort()
time.sleep(5)
print('*** Esp32CheckThreading: end')
#
Run-Ausgabe im Terminal:
>>> Running ..\Esp32Threading.py
>>>
>>> *** Esp32CheckThreading: begin
CBOnExecute[T1]: begin
CBOnExecute[T1]: Hello(1)!
CBOnExecute[T1]: Hello(2)!
CBOnExecute[T1]: Hello(3)!
CBOnExecute[T1]: Hello(4)!
CBOnExecute[T1]: Hello(5)!
CBOnExecute[T1]: end
*** Esp32CheckThreading: end
♦♦>
MicroPython v1.17 on 2021-09-02; ESP32 module with ESP32
Type "help()" for more information.
>>>
===== Version =====
{{:module:micropython:2112081352_Esp32CheckThreading_01V01.zip | 2112081352_Esp32CheckThreading_01V01.zip}}
-----
[[http://www.openhardsoftware.de/ | Open Hard- & Software]]
[
[[http://www.openhardsoftware.de/dokuwiki | DokuWiki]]
[[http://www.openhardsoftware.de/websites | WebSites]]
[[http://www.openhardsoftware.de/mediawiki | MediaWiki]]
[[http://www.openhardsoftware.de/nextcloud | NextCloud]]
]