大侠们,救救小弟吧。
时间:2010-09-05
来源:互联网
坐着等。。。。
作者: sloais 发布时间: 2010-09-05
作者: insnowind 发布时间: 2010-09-05
作者: sloais 发布时间: 2010-09-05
作者: smalloc 发布时间: 2010-09-05
作者: sloais 发布时间: 2010-09-05
内核想运行谁就运行谁.
只不过开始是那个默认的main.
信号只在有需要的时候"调度".
因为一次信号总是通过操作系统内核发给进程的.
发给的这个过程就是在内核中,在单处理器的情况下.处理器不可能同时跑应用程序和内核.
所以发的过程中进程应用程序本身是被打断的.而这个时候内核有能力将这个被打断的程序偷梁换柱一下.变成跑信号处理程序.
作者: smalloc 发布时间: 2010-09-05
作者: sloais 发布时间: 2010-09-05
可以用于在用户空间处理各种异步事件(或者叫突发事件)的情况下.
比如有键盘按下.或者有其他进程发个通知过来或者定时处理一个任务(这个不同于休眠).
作者: smalloc 发布时间: 2010-09-05
通俗一点吧,可以这么讲。
你是一个应用程序,你当前工作的环境是你的公司。
每天,你都在认真的做自己的事情,但是呢
在一个公司里,你要面对同事领导等,
同事可能会请求你帮忙,
领导可能会让你处理一些突发事件。
这些杂七杂八的事情有些你是可以不用管的,直接无视
有些事情你觉得应该得处理一下
还有一些呢,你必须要处理,比如领导发话了。
在这里,你的工作就是当前正在运行的程序
你必须面对各种突如其来的事情,这些事情就好比是信号
在一个公司里,一般会有各种潜规则,说明了那些事你该做,那些事你不该做
这就好比是系统对信号的默认处理规则
但是呢,你有你自己的处事风格。。
好了,这些事情用信号通知到你了,你该怎么处理?
你可以无视,当然更多的情况是,停下手中的工作,来处理这个突发事件
这个处理突发事件的过程就是你的信号处理函数
处理完成之后再回到你的正常工作上来。
当然信号不一定是别人(系统内核)给你的
你自己也可以给自己发信号
好比你自己突然想起一件事情必须要去处理一样。
信号的实质是这么三点:
1、信号是应用程序知晓外部事件的一种方式;
2、应用程序可以忽略,可以处理,或者无条件接受信号;
3、应用程序也可以是信号的发送者。
理解浅薄,希望共同讨论,共同进步。
作者: insnowind 发布时间: 2010-09-05
作者: sloais 发布时间: 2010-09-05
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28