函数sleep、nanosleep和clock_nanosleep(UNIX环境高级编程笔记)
#include <unistd.h> unsigned int sleep(unsigned int seconds); 返回值:0或未休眠完的秒数 |
---|
此函数使调用进程被挂起知道满足下面两个条件之一。
(1)已经过了seconds所指定的墙上时钟时间。(返回0)
(2)调用进程捕捉到一个信号并从信号处理程序返回。(返回未休眠完的秒数)
由于其他系统活动,实际返回的时间会比所要求的迟一些。
nanosleep函数与sleep函数类似,但提供了纳秒级的精度。
#include <time.h> int nanosleep(const struct timespec *reqtp, struct timespec *remtp); 返回值:若休眠到要求的时间,返回0;若出错,返回-1 |
---|
这个函数挂起调用进程,直到要求的时间已经超时或者某个信号中断了该函数。reqtp参数用秒和纳秒指定了需要休眠的时间长度。如果某个信号中断了休眠间隔,进程并没有终止,remtp参数指向的timespc结构就会被设置为未休眠完的时间长度。如果对未休眠完的时间长度不感兴趣可将remtp参数置空。
随着多个系统时钟的引入,需要使用相对于特定时钟的延迟时间来挂起调用线程。clock_nanosleep函数提供了这种功能。
#include <time.h> int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *reqtp, struct timespec *remtp); 返回值:若休眠到要求的时间,返回0;若出错,返回错误码 |
---|
clock_id参数指定了计算延迟时间基于的时钟。flags参数用于控制延迟是相对的还是绝对的。其他的reqtp和remtp参数与nanosleep函数中的相同。
函数sleep、nanosleep和clock_nanosleep(UNIX环境高级编程笔记)相关推荐
- UNIX环境高级编程笔记之文件I/O
一.总结 在写之前,先唠几句,<UNIX环境高级编程>,简称APUE,这本书简直是本神书,像我这种小白,基本上每看完一章都是"哇"这种很吃惊的表情.其实大概三年前,那会 ...
- UNIX环境高级编程笔记
1.setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opt, len); SO_REUSEADDR套接口选项允许为以下四个不同的目的提供服务: ...
- Unix环境高级编程 笔记
Unix环境高级编程(第二版)学习笔记 这是一次较长时间的整理,然而跳跃了一些章节和很多知识点,仍然是很不完善很不全面的. 前言 操作系统某些问题 严格意义上,可将操作系统定义为一种软件,它控制计算机 ...
- UNIX环境高级编程笔记(2)- STDIN_FILENO、STDOUT_FILENO和stdin、stdout的区别
目录 前言 一.STDIN_FILENO.STDOUT_FILENO介绍 二.stdin.stdout介绍 三.代码例程 1.文件描述符的使用 2.流的使用 3.代码标记 总结 前言 本章主要通过UN ...
- UNIX环境高级编程笔记(14)- 函数sigsuspend 实现父进程子进程同步
前言 本章主要介绍sigsuspend函数以及实现父进程子进程通过信号的同步. 一.函数sigsuspend #include<signal.h> int sigsuspend(const ...
- UNIX环境高级编程笔记之进程控制
本章重点介绍了进程控制的几个函数:fork.exec族._exit.wait和waitpid等,主要需要掌握的是父进程和子进程之间的运行机制,怎么处理进程的正常和异常终止.以及怎么让进程执行不同的程序 ...
- Unix环境高级编程笔记:12、高级IO
2019独角兽企业重金招聘Python工程师标准>>> 1.非阻塞IO 系统调用分成"低速"系统调用和其他系统调用.低速系统调用是可能会使进程永远阻塞的一类系统调 ...
- 文件io(二)--unix环境高级编程笔记
在linux中,打开的文件组织结构如下: 与打开的文件相关的有三个数据结构,就是上图中的三部分. 在linux中,有一个进程表,每一个进程在进程表中有一个表项.每一个进程表项中都维护着一张打开文件的描 ...
- 《UNIX环境高级编程(第3版)》
<UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison ...
最新文章
- FastThreadLocal吞吐量居然是ThreadLocal的3倍
- 大小端存储模式的理解和判断
- vue 获取当前时间 格式YYYY-MM-DD
- 从零开始学习PYTHON3讲义(一)认识Python
- 正则表达式(Regular Expression)
- http://wenku.baidu.com/view/63e7b8270066f5335a812142.html
- 9.1 基于内容的推荐系统-机器学习笔记-斯坦福吴恩达教授
- python转义符个数,python(五)——运算符、字符串、转义字符
- Javascript设计模式与开发实践读书笔记(1-3章)
- modbus串口调试工具_用modscan测试modbus协议离散仪表数据方法
- 百度之星初赛A 今夕何夕
- Apache下设置整站变灰方法
- Office文件格式兼容包FileFormatConverters(office 2010)
- 有一种毒药叫成功---成功学的泛滥与迷失
- 媒体邀约得3个步骤和5个注意事项
- java做一个简单的文件管理器
- Windows提权流程及手法
- js-cookie 安卓上不好使
- 山寨电视不会成为山寨手机第二
- 【老李的模拟赛】【#4】【2014-08-09】
热门文章
- 饥荒联机版在线服务器登陆,《饥荒:联机版》不搜索房间直连服务器教程
- 电大计算机应用基础作业3实操,国开电大20秋学期计算机应用基础作业3 模块4 PowerPoint 2010实操题答案...
- 做双线策略路由用的网通ip段
- 各种品牌液晶显示器的面板类型
- java 打印三维数组,Java三维数组
- 2021年起重机械指挥找解析及起重机械指挥考试总结
- 基于SSM+Layui的图书管理系统教程(1)---准备工作
- mysql 日期格式化 yyyymmdd_mysql中格式化日期详解
- 人造皮肤可以让机器人像我们一样感觉到
- C++下高效率int转成string