theoretische sleep Frage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Applepearlol
User
Beiträge: 14
Registriert: Samstag 10. August 2013, 21:27

Dienstag 22. April 2014, 18:39

Angenommen: ich hab ein Script das eine Klasse definiert, in der eine Funktion einen time.sleep() Befehl ausführt, dieses Script importiere ich in ein zweites und instanziere diese Klasse.
Dann rufe ich die Funktion mit dem sleep drin auf und gleich danach ein print Befehl. Würde der printbefehl gleich Printen oder nachdem die sleep Methode durchgelaufen ist? also würde die sleep Methode das gesamte Script aufhalten oder nur die Klasse?
BlackJack

Dienstag 22. April 2014, 18:44

@Applepearlol: Das `sleep()` wartet an der Stelle an der es ausgeführt wird, und verzögert dadurch natürlich die Rückkehr vom Methodenaufruf. Das hätte man aber auch einfach ausprobieren können. :-)
Applepearlol
User
Beiträge: 14
Registriert: Samstag 10. August 2013, 21:27

Dienstag 22. April 2014, 18:45

Mist, wie kann ich denn das umgehen? Also die Methode durchlaufen lassen und nebenbei etwas anderes machen lassen?
BlackJack

Dienstag 22. April 2014, 18:48

@Applepearlol: Schau Dir mal das `threading`-Modul an. Aber sei gewarnt: Nebenläufige Programmierung hat so ihre Tücken.
Applepearlol
User
Beiträge: 14
Registriert: Samstag 10. August 2013, 21:27

Dienstag 22. April 2014, 19:02

Muss ich mir auf einem Raspi Gedanken machen wenn mehrere Threds die I2C Schnittstelle benutzten um mit den selben devices zu kommunizieren (in dem Fall MCP23017)?
Oder kann ich mit einem lock Objekt den gleichzeitigen Zugriff auf die Schnittstelle umgehen?
BlackJack

Dienstag 22. April 2014, 19:09

@Applepearlol: Den Zugriff auf so eine externe Ressource sollte man auf jeden Fall immer nur von einem Thread aus gleichzeitig verwenden.
Antworten