Это немного сложнее ...Вырваться из цикла сразу же после того, как массив изменяется
В принципе, у меня есть эта функция:
def do_loop(self):
for line in self.connections[0].iter_lines():
print line
И есть поток постоянно работает вместе с ним, что будет в произвольное время изменить значение connections[0]
.
Если это произойдет, если connections[0]
внешне изменилось в потоке, то цикл будет продолжать использовать старую connections[0]
, мне нужно, чтобы это не произошло, мне нужно немедленно использовать новый connections[0]
вместо этого.
Для некоторого фона for line in self.connections[0].iter_lines():
считывает данные из API потокового трафика Twitter, используя python-requests
, следовательно .iter_lines()
.
Любые идеи? Заранее спасибо.
Это то, что я изначально думал тоже, но мне нужно, чтобы цикл немедленно переключился на новое соединение, он не может дождаться, когда API-интерфейс Twitter будет отправлять новые данные по трубе, чтобы он мог переключаться, он должен немедленно разорваться после соединений [0 ] обновляется. –
Хорошая точка. В этом случае вам, вероятно, понадобится объект мьютекса, который вы можете установить в одном потоке и проверить с другого. Я бы рекомендовал [Event] (http://docs.python.org/library/threading.html#event-objects). – mklauber