社区
Linux/Unix社区
帖子详情
unix下定时器的实现方法
comman_wang
2006-04-17 10:08:18
由于刚从windows转移到UNIX下,有一些问题向大家请教:
1、unix下定时器的实现一般都采用fork一个子进程或线程这种方式吗?
2、windows下的事件通知(Event)在unix 下如何实现?
谢谢!
...全文
244
4
打赏
收藏
unix下定时器的实现方法
由于刚从windows转移到UNIX下,有一些问题向大家请教: 1、unix下定时器的实现一般都采用fork一个子进程或线程这种方式吗? 2、windows下的事件通知(Event)在unix 下如何实现? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wanghi
2006-04-17
打赏
举报
回复
<UNIX系统编程>里面有你想要的例子
YanDong_8212
2006-04-17
打赏
举报
回复
这个是版主x86(大雪)以前贴的一段代码:
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
char user[40];
//alarm 捕捉函数
void catch_alarm ( int sig_num)
{
printf ("Sorry,time limit reached. \n");
//清除定时器
alarm (0);
exit (0);
}
int main ( int argc , char *argv[] )
{
//设置信号回调
Signal ( SIGALARM,catch_alarm );
printf ("Your Username (10 seconds limit):");
//将缓冲内容输出
fflush(stdout);
// 设置10秒钟
alarm(10);
//等待用户输入
(char*)get(user);
printf("your username is = '%' \n'',user);
return 0;
}
YanDong_8212
2006-04-17
打赏
举报
回复
1、精度不高就用alarm就行了,精度高的话用timer_create,在子进程中,都将更新定时。
2、unix用信号来实现
具体请man alarm man timer_create
alaiyeshi
2006-04-17
打赏
举报
回复
linux程序开发
相信那里有你的答案
高级
UNIX
编程 pdf 电子书
本书以当前
UNIX
规范为基础,详细介绍了
UNIX
系统函数的用法,并用大量的代码和示例程序进行演示,对实际编程具有指导意义。全书共9章,内容包括:基本概念、基本文件I/O、高级文件I/0、终端I/O、进程与线程、基本进程间通信、高级进程间通信、网络技术与套接字,以及信号与
定时器
等。涉及POSIX、FreeBSD、Solaris、Linux等几大主流系统
实现
。每章末都给出一了些练习,一些是简单的程序设计问题,还有一些可以作为学期的
UNIX
程序设计项目。 本书适合广大
UNIX
和c程序员、研究人员、高校相关专业师生学习和参考。 目录 出版者的话 专家指导委员会 译者序 前言 第1章 基本概念 1.1
UNIX
和Linux一览 1.2
UNIX
的版本 1.3 使用系统调用 1.4 错误处理 1.5
UNIX
标准 1.6 共享头文件 1.7 日期和时间 1.8 关于示例代码 1.9 必要的资源 练习 第2章 基本文件I/0系统调用 2.1 概述 2.2 文件描述符及打开文件描述 2.3 文件权限位符号 2.4 open和creat系统调用 2.5 umask系统调用 2.6 unlink系统调用 2.7 创建临时文件 2.8 文件偏移量和O_APPEND 2.9 write系统调用 2.10 read系统调用 2.11 close系统调用 2.12 用户缓冲I/O 2.13 iseek系统调用 2.14 pread和pwrite系统调用 2.15 ready和writev系统调JFf】 2.16 同步I/O 2.17 truncate和ftruncate系统调用 练习 第3章 高级文件I/O 3.1 概述 3.2 磁盘特殊文件和文件系统 3.3 硬链接和符号链接 3.4 路径名 3.5 访问和显示文件元数据 3.6 目录 3.7 改变信息节点 3.8 其他的文件处理调用 3.9 异步I/O 练习 第4章 终端I/0 4.1 概述 4.2 从终端读取数据 4.3 会话和进程组(作业) 4.4 ioctl系统调用 4.5 设置终端属性 4.6 其他终端控制系统调用 4.7 终端识别系统调用 4.8 全屏应用程序 4.9 流I/O 4.10 伪终端 练习 第5章 进程和线程 5.1 概述 5.2 环境 5.3 exeo系统调用 5.4
实现
shell(版本1) 5.5 fork系统调用 5.6
实现
shell(版本2) 5.7 exit系统调用和进程终止 5 8 wait、waitpid和waitid系统调用 5.9 信号、终止和等待 5.10
实现
shell(版本3) 5.11 获得用户ID和组ID 5.12 设置用户ID和组ID 5.13 获得进程ID 5.14 chroot系统调用 5.15 获得并设置优先级 5.16 进程限制 5.17 线程介绍 5.18 阻塞问题 练习 第6章 基本的进程间通信 6.1 概述 6.2 管道 6.3 dup和dup2系统调用 6.4 一个真正的shell 6.5 非重定向管道的双向通信 6.6 用双向管道进行双向通信 练习 第7章 高级进程间通信 7.1 概述 7.2 FIFO或命名管道 7.3 抽象的简单消息接口(sMI) 7.4 SystemVIPC 7.5 System V消息队列 7.6 POSIX IPC 7.7 POSIX消息队列 7.8 关于信号量 7.9 System V信号量 7.10 POSIX信号量 7.11 文件锁 7.12 关于共享内存 7.13 System V共享内存 7.14 POSIX共享内存 7.15 性能比较 练习 第8章 网络和套接字 8.1 套接字基础 8.2 套接字地址 8.3 套接字选项 8.4 简单套接字接口 8.5 SMI套接字
实现
8.6 无连接套接字 8.7 带外数据 8.8 网络数据库函数 8.9 其他系统调用 8.10 高性能方面的考虑 练习 第9章 信号和
定时器
9.1 信号的基本概念 9.2 等待信号 9.3 其他信号系统调用 9.4 不赞成使用的信号系统调用 9.5 实时信号扩展 9.6 全局跳转 9.7 时钟和
定时器
练习 附录A 进程属性 附录B ux:一个对标准
uNIx
函数进行包装的程序 附录c Jtux:标准
UNIX
函数的Java/Jython接口 附录D 函数字母速查表及其分类表 参考文献
UNIX
环境高级编程(英文版)
详细介绍了
UNIX
系统函数的用法,并用大量的代码和示例程序进行演示,对实际编程具有指导意义。全书共9章,内容包括:基本概念、基本文件I/O、高级文件I/0、终端I/O、进程与线程、基本进程间通信、高级进程间通信、网络技术与套接字,以及信号与
定时器
等。涉及POSIX、FreeBSD、Solaris、Linux等几大主流系统
实现
。每章末都给出一了些练习,一些是简单的程序设计问题,还有一些可以作为学期的
UNIX
程序设计项目。
Linux操作系统入门培训_Linux/
Unix
基础培训教程视频课程
Linux入门培训_Linux基础培训教程_Linux系统入门学习视频课程,
Unix
基础培训教程(如aix,hp-ux),针对linux系统初级者开设的课程,是linux入门简单的视频教程.
Linux 下
定时器
的
实现
方式分析
定时器
属于基本的基础组件,不管是用户空间的程序开发,还是内核空间的程序开发,很多时候都需要有
定时器
作为基础组件的支持,但使用场景的不同,对
定时器
的
实现
考虑也不尽相同,本文讨论了在 Linux 环境下,应用层和内核层的
定时器
的各种
实现
方法
,并分析了各种
实现
方法
的利弊以及适宜的使用环境。 首先,给出一个基本模型,
定时器
的
实现
,需要具备以下几个行为,这也是在后...
Linux的应用层
定时器
实现
方法
转载:http://blog.csdn.net/lu_embedded/article/details/53080496 使用
定时器
的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的
方法
。一个是用 Linux 内部的三个
定时器
;另一个是用 sleep 或 usleep 函数让进程睡眠一段时间;其实,还有一个
方法
,那就是用
Linux/Unix社区
23,116
社区成员
74,506
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章