Pygame与线程
def on_press(self):
file_name = self.filename
if(self.flag1<3):
var="thread1"+str(self.flag1)
var=myThread(1,file_name)
self.flag1=self.flag1+1
print "Thread count is "+str(threading.active_count())
var.start()
这里的 flag1
一开始被设置为 1
。每当我在前端按下一个按钮时,函数 on_press()
就会被调用。
我的 myThread
类是这样的:
class myThread (threading.Thread):
def __init__(self,counter,file_name):
threading.Thread.__init__(self)
self.counter = counter
self.file_name=file_name
def run(self):
print "Starting "
channel=pygame.mixer.music.load(self.file_name)
channel=pygame.mixer.music.play()
print "Exiting "
现在我的问题是,每次我调用 on_press()
函数时,都会创建一个新的线程,这个线程会覆盖正在播放的音频文件。我希望所有线程能够同时播放音频文件。一个新的线程不应该覆盖已经创建的其他线程正在播放的音乐。我该怎么做呢?