Zitat Zitat von Sisor Beitrag anzeigen
Anmerkung: Für den ESP32 ist eine Minimalimplementation von pthread verfügbar. Diese basiert auf FreeRTOS's Tasksystem. Std::thread, std::async etc. wiederum sind ein Abstraktionslayer basierend auf pthread (Quelle).
ja, das ist das was ich oben gemeint habe, ich kenne und nutze es beim ESP32 auch bereits. Man kann thread prios von 0-5 definieren, für potentiell blockierende threads empfiehlt sich 0, und es funktioniert sehr gut bis jetzt. Ich hatte hier auch schon ein Beispielprogramm gepostet zu Testzwecken:
https://www.roboternetz.de/community...l=1#post653989

- - - Aktualisiert - - -

PS
korrigiert:
sogar auch std::mutex ist für ESP32 vorhanden
Code:
#include <mutex>
std::mutex print_mutex;

void mtxPrintln(String str) // String: Arduino API  // C++: std::string
{
    print_mutex.lock();
    Serial.println(str);
    print_mutex.unlock();
}