面试题答案
一键面试- 方法一:信号解除
- 适用场景:当进程等待某个特定事件发生,而该事件可以通过外部信号通知时适用。例如,在一个长时间运行的后台进程中,它可能在等待用户的某个特定操作(如按下某个组合键)来改变运行状态。此时,可以通过发送特定信号(如Unix系统中的SIGUSR1、SIGUSR2等自定义信号)来解除进程的阻塞,让它执行相应的处理逻辑。
- 方法二:I/O操作完成
- 适用场景:当进程因为等待I/O操作(如读取文件、网络请求等)而阻塞时适用。比如,一个网络爬虫进程在等待从服务器获取网页数据时处于阻塞状态,当服务器返回数据,即I/O操作完成,阻塞就会解除,进程可以继续处理接收到的数据。