社区
Linux/Unix社区
帖子详情
用alarm和pause来实现sleep:分不够可在加
yutongjun108
2003-01-14 10:02:54
请用系统调用alarm和pause来实现函数sleep(seconds)
...全文
98
4
打赏
收藏
用alarm和pause来实现sleep:分不够可在加
请用系统调用alarm和pause来实现函数sleep(seconds)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cwhh
2003-01-14
打赏
举报
回复
void sig_alarm(int signal)
{
return;
}
void sleep2(int seconds)
{
signal(SIGALRM,sig_alarm);
alarm(seconds);
while(pause()==-1&&errno=EINTR) return;
}
ari
2003-01-14
打赏
举报
回复
执行非本地跳转。简单的讲就是跨函数goto
在这里的功能是避免在pause调用之前捕捉到信号,
从而将程序陷入pause
具体用法可以
参阅unix/linux 手册.
============================
man setjmp
man longjmp
salaciouswolf
2003-01-14
打赏
举报
回复
ari(薛定锷) :
薛大虾,能不能解释一下setjmp和longjmp的功能,以及在此程序中的作用?
谢谢了,我是菜鸟,别见笑!
ari
2003-01-14
打赏
举报
回复
static jmp_buf jmpbuf;
#define JMPVAL 1
static
void sig_alarm(ing signo)
{
longjmp( jmpbuf, JMPVAL );
return;
}
void sleep3( int seconds )
{
int jmpval=0;
signale( SIGALRM, sig_alarm );
alarm(seconds);
jmpval = setjmp( jmpbuf );
if( jmpval == 0 )
pause();
else
return;
}
alarm
,signal
实现
sleep
功能
在本篇文章中,我们将深入探讨如何使用`
alarm
`与`signal`函数来
实现
自定义的`sleeep`功能。此方法不仅提供了一种不同于标准库中的`
sleep
`函数的替代方案,而且还允许开发者通过信号处理机制来控制进程的挂起与恢复。...
linux 下
实现
sleep
详解及简单实例
linux 下
实现
sleep
详解及简单实例
sleep
: 普通版本 1、基本设计思路: 1>注册SIGALRM信号的处理函数; 2>调用
alarm
(nsecs)设定闹钟; 3>调⽤
pause
等待,内核切换到别的进程运行; 4>nsecs秒之后,闹钟超时,内...
C语言中的
pause
()函数和
alarm
()函数以及
sleep
()函数
在C语言中,`
pause
()`、`
alarm
()`和`
sleep
()`是三个与进程控制和时间管理相关的函数。它们常用于创建复杂程序逻辑,特别是在需要等待特定事件或定时操作的场景。 1. `
pause
()`函数: `
pause
()`函数定义在`...
信号处理函数解析,signal ,
sleep
,raise等等函数的使用
信号处理函数是指在程序中处理信号的函数,信号是操作系统为了
实现
进程之间的通讯和同步而提供的一种机制。信号处理函数可以捕捉和处理信号,从而
实现
进程之间的通讯和同步。 1.
alarm
函数
alarm
函数用于设置...
C_函数(标注版).pdf相关函数 signal,
sleep
表头文件 #include 定义函数 unsigned int
alarm
(unsigned int seconds);
`
alarm
`函数用于设置一个定时器,在`seconds`秒后向当前进程发送`SIGALRM`信号。如果`seconds`为0,则取消先前设置的`
alarm
`定时器,并返回剩余的时间。 **参数说明:** - `seconds`: 定时器的持续时间,单位是秒。...
Linux/Unix社区
23,215
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章