Ich habe ein Objekt, das eine Aktion ausführen soll, und dann für 1 Sekunde schlafen, bevor Sie die Aktion erneut ausführen. Das Objekt verfügt jedoch über Variablen, auf die jederzeit zugegriffen werden muss, unabhängig davon, ob es sich in seiner Ein-Sekunden-Schlafperiode befindet. Wird die Ausführung des Objekts ausgesetzt, sind die Variablen nicht zugänglich?Verhindert Sleep() in Python den Zugriff auf die Variablen eines Objekts?
Dies ist Python.
Danke.
EDIT 1: Klärende 'unzugänglich':
Objekt A hat Variable x, die Objekt-B wiederholt zugreifen muss. Objekt A schläft für 1 Sekunde. Wird es ein Problem geben, wenn Objekt B versucht, x zu verwenden, während A schläft?
EDIT 2: vergessen die beiden Objekte ausgeführt werden als einzelne Prozesse zu erwähnen (I Prozesse bin mit der GIL vermeiden) 3
EDIT:
class QueueController(Process):
def __init__(self):
Process.__init__(self)
self.queue_stream = Queue()
self.queue_language = Queue()
self.queue_expander = Queue()
self.queue_feature = Queue()
self.queue_classify = Queue()
self.db = connect_to_db()
def run(self):
# Every second, allow 10 more tweets from the raw_tweets db
# enter the queue_stream to be processed
value = 0
while True:
for i in db.raw_tweets.find().skip(value).limit(30):
self.queue_stream.put(i)
value+=30
sleep(1)
Will eine andere Aufgabe, die diesen verwendet Die QueueController-Klasse kann immer noch die 'queues_'-Variablen verwenden, selbst wenn sie für eine Sekunde schläft. Ich befürchte, dass das Sleeping die Ausführung stoppt, aber auch der Zugriff auf diese queue_-Variablen als Nebeneffekt.
Wo ist das Objekt zugegriffen von? – alexn
Parse Fehler, Redo von Anfang an - was bedeutet "unzugänglich" sogar? –
Objekte schlafen nicht, Gewinde tun. –