Processing摸索前行(6)-在processing中实现多线程

版权声明:本博客所有原创文章未经准许不得转载或保存转发,本人保留版权法律追诉权。 https://blog.csdn.net/haigear/article/details/85059333

由于我们在示波器中必须用到多线程,所以我们在实现示波器的动态获取数据功能之前,中间插一篇有关processing多线程的探索内容。
虽然,表面上processing和arduino的封装差不多,一开始都是一个setup,但我们知道要在arduino中实现多线程几乎不可能,最常见的方法就是用中断,而arduino中的中断资源是有限的,比如串口通讯就使用了中断资源,而且效果也不是太好(当然也有一些第三方的类库表示可以模拟多线程,但毕竟在单片机上模拟效果也好不到哪里去)。

我们的processing毕竟是一个运行在PC端的东东,而且是java的地基,那么,实现多线程应该是不在话下的,但在processing的reference中一个thread的关键词都找不到,一度使我沮丧,但经过摸索最后我发现了 registerMethod函数,经过这个函数,我们可以在setup中注册一个名称为post的方法与draw函数并行的函数。
我们来看看它的具体应用:

int x=0;
void setup()
{
  registerMethod("post", this); 
}

void draw()
{
   println("####here is draw function  running :"+x);   
}


void post()
{
  ++x;
  println("*---------post1 running----------");
}

运行结果如下:
在这里插入图片描述

这充分说明,draw和post是并行运行的!我们了解我processing的线程调用了,后面的示波器的适时数据获取和显示就能够很好的实现了。

猜你喜欢

转载自blog.csdn.net/haigear/article/details/85059333
今日推荐