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

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

@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

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

@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

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

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