博客
关于我
《Linux系统调用:clock_getcpuclockid,pthread_getcpuclockid》
阅读量:234 次
发布时间:2019-03-01

本文共 634 字,大约阅读时间需要 2 分钟。

一、介绍

这组函数用于获取指定进程或线程的CPU时钟ID值,分别是clock_getcpuclockidpthread_getcpuclockid。前者用于获取进程的CPU时钟ID,后者则用于获取线程的CPU时钟ID。在编译时需要加上相应的标志选项,-lrt用于clock_getcpuclockid-pthread用于pthread_getcpuclockid

尽管这些函数的精度可以达到纳秒级别,但实际系统的精度可能因实现而异。因此,建议使用clock_getres来获取系统时钟的精度。返回的错误信息请参考 errno 错误值的相关文档。

二、接口函数

以下是相关接口的实现和说明:

#include 
int clock_getcpuclockid(pid_t pid, clockid_t *clock_id);

参数

  • thread:进程ID
  • clock_id:返回的时钟ID值

返回值

成功返回0,错误返回非零的errno值

#include 
#include
int pthread_getcpuclockid(pthread_t thread, clockid_t *clock_id);

参数

  • thread:线程ID
  • clock_id:返回的时钟ID值

返回值

成功返回0,错误返回非零的errno值
注意:如果系统不支持每线程CPU时钟ID,可能会返回ENOENT错误。

转载地址:http://xhkt.baihongyu.com/

你可能感兴趣的文章
Orcale表被锁
查看>>
svn访问报错500
查看>>
sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
查看>>
ORCHARD 是什么?
查看>>
Struts2中使用Session的两种方法
查看>>
order by rand()
查看>>
Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
查看>>
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
SQL-CLR 类型映射 (LINQ to SQL)
查看>>