我是靠谱客的博主 害怕书本,最近开发中收集的这篇文章主要介绍linux usleep 函数,Linux 高精確的時序(sleep, usleep,nanosleep),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先, 我会说不保证你在使用者模式 (user-mode) 中执行的行程

(process) 能够精确地控制时序因为 Linux 是个多工的作业环境. 你在执行中的行程 (process)

随时会因为各种原因被暂停大约 10 毫秒到数秒 (在系统负荷非常高的时候). 然而, 对於大多数使用 I/O 埠的应用而言,

这个延迟时间实际上算不了什麽. 要缩短延迟时间, 你得使用函式 nice 将你在执行中的行程 (process ) 设定成高优先权(请参考

nice(2)

使用说明文件) 或使用即时排程法 (real-time scheduling) (请看下面).

果你想获得比在一般使用者模式 (user-mode) 中执行的行程 (process) 还要精确的时序, 有一些方法可以让你在使用者模式

(user-mode) 中做到 `即时' 排程的支援. Linux 2.x 版本的核心中有软体方式的即时排程支援; 详细的说明请参考

sched_setscheduler(2)

使用说明文件. 有一个特殊的核心支援硬体的即时排程; 详细的资讯请参考网页

休息中 (Sleeping) :

sleep()

usleep()

现在, 让我们开始较简单的时序函式呼叫. 想要延迟数秒的时间, 最佳的方法大概 是使用函式

sleep()

. 想要延迟至少数十毫秒的时间 (10 ms 似乎已是最短的 延迟时间了), 函式

usleep()

应该可以使用. 这些函式是让出 CPU 的使用权 给其他想要执行的行程 (processes) (``自己休息去了''), 所以没有浪费掉 CPU 的时间. 细节请参考

sleep(3)

usleep(3)

的说明文件

最后

以上就是害怕书本为你收集整理的linux usleep 函数,Linux 高精確的時序(sleep, usleep,nanosleep)的全部内容,希望文章能够帮你解决linux usleep 函数,Linux 高精確的時序(sleep, usleep,nanosleep)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部