如何让程序,延时1微秒?要求是:
1、是微秒,不是毫秒。
2、不要求精确。(如:最终延时了3微秒,也是可以接受的)
3、延时过程中,要求CPU占用率,要为零。不能是下面形式,下面while形式,cpu占用率是满爆的。
while(true)
{
读取精确到微秒时间
时间计数
计数比较
.........
}
4、std::this_thread::sleep_for(std::chrono::microseconds(1));这种方法试过来,实际上只是1毫秒,不是1微秒。
5、用Socket的select也试过了,struct timeval tv;虽然有微秒的设置,但是,当tv_usec小于1000以下,全都是1毫秒。
6、std::timed_mutex mtx;的成员函数try_lock_for(std::chrono::microseconds(1))也试过了,实际上,也只是1毫秒,不是1微秒。