Moinsen, ich hab mal ne theoretische Frage: angenommen ich hab mit einem Python Script(Thread Library) 4 Threads offen -> jeweils zwei dieser Threads nutzen je einen MCP23017 am I2C. Also Thread A&B greifen auf MCP23017(1) zu und C&D greifen auf MCP23017(2) zu. Kann ich per Lock den den gleichzeitigen Zugriff auf die I2C Devices verhindern?
Der Lock pausiert alle anderen Threads bis du den Lock wieder freigibst oder der Thread durchgelaufen ist und sich somit selbst beendet. Du kannst aber nicht 2 Threads gleichzeitig locken, immer nur einen. Somit müsstest du den aktivien Thread locken der auf deinen MCP23017 zugreift. (So macht mans eig. immer bei zeitkritischen Schleifen oder Prozeduren die beim Thread erst einmal durchlaufen müssen da sie sonst falsche Werte an andere Threads oder ans Hauptprogramm liefern würden). Prinzipiel genau richtig gedacht.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.