C 什么是异步信号?
维基百科中的两个定义: 在计算机科学中,异步I/O或非阻塞I/O是一种形式 允许其他处理继续进行的输入/输出处理 在传输完成之前 信号是应用程序中进程间通信的一种有限形式 Unix、类Unix和其他兼容POSIX的操作系统。信号 是向进程或特定进程发送的异步通知 在同一进程中执行线程,以便将 发生了 我真的不明白这是什么意思: 信号是发送到进程的异步通知 这是否意味着,就像I/O一样,一个信号被发送到一个进程,而发送该信号的进程不等待接收该信号的进程的返回值,而是继续运行C 什么是异步信号?,c,asynchronous,signals,C,Asynchronous,Signals,维基百科中的两个定义: 在计算机科学中,异步I/O或非阻塞I/O是一种形式 允许其他处理继续进行的输入/输出处理 在传输完成之前 信号是应用程序中进程间通信的一种有限形式 Unix、类Unix和其他兼容POSIX的操作系统。信号 是向进程或特定进程发送的异步通知 在同一进程中执行线程,以便将 发生了 我真的不明白这是什么意思: 信号是发送到进程的异步通知 这是否意味着,就像I/O一样,一个信号被发送到一个进程,而发送该信号的进程不等待接收该信号的进程的返回值,而是继续运行 如果一个信号是同步的,
如果一个信号是同步的,那么发送过程会等待返回值吗 在我看来,您在维基百科文章中强调的陈述过于笼统,无法帮助我们了解“幕后”发生了什么。例如,关于回调的实现,请看以下部分: 指向函数的指针 捕捉信号 在发送信号时,接收过程将执行 指定地址的信号捕获功能。回国后 从信号捕捉功能开始,应恢复接收过程 在中断点执行
在我看来,您在Wikipedia文章中强调的声明过于笼统,无法帮助您了解“幕后”正在发生的事情。例如,关于回调的实现,请看以下部分: 指向函数的指针 捕捉信号 在发送信号时,接收过程将执行 指定地址的信号捕获功能。回国后 从信号捕捉功能开始,应恢复接收过程 在中断点执行 看起来“异步”似乎可以被忽略 信号是发送给进程或同一进程内特定线程的异步通知,用于通知它发生的事件 信号接收方不知道发送过程是继续还是等待。这对接收者来说也不重要(除非在协议中“同意”发送者等待或继续,可能由接收者指定响应时间限制) 另一种观点可以是:
- 异步事件可能意味着在接收方处理第一个事件之前,可以从发送方接收更多相同或不同的事件
- 同步事件可能意味着在接收方处理之前,不会从发送方接收到相同类型的事件。(不过,可能会从发送方接收到其他类型的同步或异步事件。)
- 异步事件可能意味着在接收方处理第一个事件之前,可以从发送方接收更多相同或不同的事件
- 同步事件可能意味着在接收方处理之前,不会从发送方接收到相同类型的事件。(不过,可能会从发送方接收到其他类型的同步或异步事件。)
这将如何转化为多个发送方向单个接收方发送相同类型的同步事件?信号是异步的,因为线程可能在执行过程中的任何点接收信号。这与代码中所有其他内容的同步性形成了对比:一条语句紧跟着另一条语句,在函数调用之后,您期望一个值,该指令紧跟着之前的指令,等等。。。你明白了。信号处理程序可以随时开始执行(通常会中断当前流的执行,直到它完成)
问题在于,这一段没有提到相同的异步术语:它指的是可能“在后台”执行的非阻塞调用,允许当前线程在等待接收响应时执行其他任务(请注意,此接收是如何以信号相同的方式异步的).信号是异步的,因为线程可能在