我必须同时启动多个进程 - AVAudioPlayer的播放,计时器和文件写入操作。
如果我只是在方法中编写它们,它们会一个接一个地执行,并且所有操作的开始都有轻微的延迟。
有什么想法吗?感谢任何帮助。
感谢。
答案 0 :(得分:2)
为什么不使用线程?
您可以使用以下方法轻松完成:
- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg
或将NSOperation
与NSOperationQueue
一起使用。
有关详细信息,请查看this question。
注意:
答案 1 :(得分:1)
添加过多的并发可能是错误的方法。您可能想要调查设置计时器并在主线程上播放音频文件,同时在后台线程上执行阻塞文件写入调用。这里的重要概念是远离主线程上的阻塞调用,尤其是当您处理文件或网络I / O时。
你会想避免创建太多的额外线程,因为iPhone是单CPU设备,多线程会导致更多的资源消耗。