我正在Linux中做C程序。我有一个主线程,它连续更新两个变量的值,其他线程每20毫秒将这些变量值写入文件中。我利用睡眠来达到这个时间间隔。示例代码如下。
main()
{
.
.
.
.
.
pthread_create(...write_file..); /* started another thread by passing a function write_file */
while(variable1)
{
updates value of variables
}
return 0;
}
void write_file()
{
以下是accuracy和neg_accuracy的一些解释:
这意味着根据用户指定的值(他们想要的十进制数)来保留所有的值。accuracy的意思是将GetTickCount()返回的巨大数字减为size,而neg_accuracy实际上通过除法将其转换为十进制。
我只是希望能得到一些关于效率的批评,并被告知任何更好的做事方法。
// -----------------------------------INSTRUCTIONS-----------------------------------
// create a timer class object with wi
我用std::this_thread::sleep_for(std::chrono::seconds(1));睡了一会儿。我发现,如果我在睡眠期间向后调整系统时间,睡眠时间将延长我刚刚调整的时间量。
但与std::this_thread::sleep_until()不同,std::this_thread::sleep_for()应该与系统时间无关地工作,它可能应该表现出上面提到的行为。
当我查看Visual C++ 2012的std::this_thread::sleep_for()实现时,我发现
template<class _Rep,
class _Period> inline
我正在尝试用System.nanoTime()和System.currentTimeMillis()来衡量某个时期的持续时间。周期越长,我从两次测量中获得的差异就越大。
以下是演示该问题的一小段代码:
public class TimeTest {
public static void main(String[] args) throws Exception {
long startNanos = System.nanoTime();
long startMillis = System.currentTimeMillis();
whi