美好的一天! 我把基于posix线程的linux应用程序移植到android。 我需要线程每20毫秒从我的USB设备读取数据。 但是当我使用它时,我的cortex-a15(exynos 5410)时钟从250 Mhz变为1.8Ghz。 有没有办法在android NDK中使用定期工作, 或者如何降低pthreads的cpu利用率? Thanx提前 再见
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 );
}