首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在没有draw()计时错误的情况下获得临时操作

在没有draw()计时错误的情况下获得临时操作
EN

Stack Overflow用户
提问于 2018-07-09 05:14:03
回答 1查看 59关注 0票数 1

我试图在处理草图中获得一个准确的时钟,而不是由draw()函数引起的计时。

我实际上使用的是Java中的System.nanoTime()而不是mills()来获取纳秒,我回想起void draw中的时钟来初始化它。

我想知道如何在没有draw()函数计时的情况下从draw()获得一个独立的时钟来发送一些消息。

我需要它作为android内部的音乐定序器,我需要它完全准确。

这是我的情况:

long lasttimecheck;
long timeinterval;

void setup() {
  lasttimecheck = System.nanoTime();
  //step duration 
  timeinterval  = 125000000L;
}

void clock(){
  if (System.nanoTime() > lasttimecheck + timeinterval) {
    lasttimecheck = System.nanoTime();
    println("yeah" +  lasttimecheck);
  }

}
void draw() {
clock();
}

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-07-09 06:07:57

我不太确定您的目标是什么(或者为什么draw()函数不能实现这个目标),但是您可以创建自己的线程并执行自己的计时。如下所示:

void setup(){
  new Thread(){
    public void run(){
      while(true){
        doTheThing();
        Thread.sleep(1); //sleep for 1 ms
      }
    }
  }.start();
}

这只是一个简单的例子,线程(又称并发)是一个高级主题,有很多复杂的东西需要考虑。因此,如果我是您,我会后退一步,尝试在常规draw()循环的范围内工作,而不是自己处理线程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51236031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档