再会!我将基于posix线程的linux应用程序移植到android。我需要线程每 20 毫秒从我的 USB 设备读取数据。但是当我使用它时,我的 cortex-a15 (exynos 5410) 时钟从 250 Mhz 变为 1.8Ghz。有没有办法在android NDK中使用定期工作,或者如何降低pthreads的cpu利用率?提前致谢 再见
void dynamics_thread::run()
{
_done = false;
QueryPerformanceCounter((__int64_t *)&init_time); // Get current count
do
{
//YieldCurrentThread();
if (raschet_flag)
{
__int64_t freq;
QueryPerformanceCounter((__int64_t *)¤t_time); // Get current count
QueryPerformanceFrequency((__int64_t *)&freq); // Get processor freq
current_time-=init_time;
deltaTime = (float)((float)(current_time - gLastTime)/(float)freq);
if (deltaTime>=0.02f)
{
gTime = (float)((float)(current_time)/(float)freq);
//osg::notify(osg::WARN)<<"begin "<<gTime<<std::endl;
gLastTime = current_time;
// do some work
}
}
microSleep(20000);
}
while( !_done );
}