Я новичок в потоках и не очень понимаю, как использовать условия. На данный момент у меня есть класс потока, подобный этому:
class MusicThread(threading.Thread):
def __init__(self, song):
threading.Thread.__init__(self)
self.song = song
def run(self):
self.output = audiere.open_device()
self.music = self.output.open_file(self.song, 1)
self.music.play()
#i want the thread to wait indefinitely at this point until
#a condition/flag in the main thread is met/activated
В главном потоке соответствующий код:
music = MusicThread(thesong)
music.start()
Это должно означать, что я могу воспроизвести песню через вторичный поток, пока не введу команду в главном потоке, чтобы остановить ее. Я предполагаю, что я должен был бы использовать блокировки и wait () или что-то еще?