喜欢阻止文件播放,原理是什么以及如何实现?
答案 0 :(得分:1)
“阻塞”意味着操作不会将控制权返回给其调用者,直到它“阻塞直到”为止。
这可以通过以下几种方式实现:
pthread_mutex_lock
。这也使你的功能块。执行此操作的其他功能是read
以及任何其他可能阻止的系统调用。while (!condition) {}
的代码。这将占用整个CPU内核,因此如果你要在任何大量时间内阻塞,这不是一个好习惯。sleep(5000)
或其他类似内容,并通过SIGALARM
或其他异步方法终止睡眠。对于媒体播放器,“阻止直到文件完成播放”只意味着“等到媒体文件在播放前完成播放”。
答案 1 :(得分:0)
让一个线程等待一个事件,当文件完成播放时,该事件将被另一个线程触发。